2014-12-05 83 views
0

對,所以說我與格式文件:刪除以字符串開頭的txt文件中的所有行? (JAVA)


MYFILE.TXT

名暱稱;

jay epic1;

jay epic2;


現在說我有String name = jay;。我想刪除所有以字符串name



所以基本上,我想刪除與字符串開始一個txt文件,所有行開始的行。可能?如果是這樣,有人可以給我的代碼? (我學習最好從看代碼本身。)


感謝,

周杰倫

+4

是可能的,更好的開始編碼:) – 2014-12-05 17:56:25

+0

當然它只是編碼而已;但是,不要直接寫入文件。將修改的內容放入新文件中,然後在寫入新文件後重命名爲原始文件。 – fge 2014-12-05 17:57:17

回答

0

這裏是一個可能的實現:

String name = "jay "; 

    String source = "/path/to/original/file.txt"; 
    String dest = "/path/to/new/modified/file.txt"; 

    File fin = new File(source); 
    FileInputStream fis = new FileInputStream(fin); 
    BufferedReader in = new BufferedReader(new InputStreamReader(fis)); 

    FileWriter fstream = new FileWriter(dest, true); 
    BufferedWriter out = new BufferedWriter(fstream); 

    String aLine = null; 
    while((aLine = in.readLine()) != null) { 
     // Check each line for the string, and write if it doesn't have it: 
     if(!aLine.startsWith(name)) { 
      out.write(aLine); 
      out.newLine(); 
     } 
    } 

    in.close(); 
    out.close(); 
+0

謝謝@stackdev,使用startsWith更易於閱讀。 – paulscode 2014-12-05 18:43:01

相關問題