2010-10-15 110 views
0

我必須檢查一個文本文件是否存在或不存在,然後我必須替換一個字母,說一個到o。我已經完成了第一部分如何更換炭文件java替換字符

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); 
    } 
    } 
} 

這個我已經做

+0

是否想用'o'替換'a'到文件中?或在文件名? – 2010-10-15 09:31:28

+0

裏面的文件。我的意思是在數據中 – Sumithra 2010-10-15 09:34:30

回答

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); 
}