文件java替换字符

Sum*_*hra 1 java file

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

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);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我做过的

Ben*_*ine 6

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

您必须读取文件(使用 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);
}
Run Code Online (Sandbox Code Playgroud)