文件java替换字符

时间:2010-10-15 09:28:35

标签: java file

我必须检查文本doc是否存在然后我必须替换一个字母,说a到o。我已经完成了第一部分如何替换char

class FDExists{
  public static void main(String args[]){
    File file=new File("trial.java");
    boolean exists = file.exists();
    if (!exists) {

      System.out.println("the file or directory you are searching does not exist : " + exists);

    }else{

      System.out.println("the file or directory you are searching does exist : " + exists);
    }
  }
}

我已经完成了

1 个答案:

答案 0 :(得分:2)

你不能在一行代码中这样做。

您必须读取文件(使用InputStream),修改内容并将其写入文件(使用OutputStream)。

示例代码。我省略了try / catch / finally块以更好地理解算法,但在实际代码中,你必须添加具有正确资源解放权的块。您也可以用系统行分隔符替换“\ n”,并用参数替换“a”和“o”。

public void replaceInFile(File file) throws IOException {

    File tempFile = File.createTempFile("buffer", ".tmp");
    FileWriter fw = new FileWriter(tempFile);

    Reader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);

    while(br.ready()) {
        fw.write(br.readLine().replaceAll("a", "o") + "\n");
    }

    fw.close();
    br.close();
    fr.close();

    // Finally replace the original file.
    tempFile.renameTo(file);
}