1
我輸入文件中有許多記錄和樣品,讓我們說它(這裏行號僅供參考)如何使用java刪除文本文件中的特定字符串?
1. end
2. endline
3. endofstory
我希望我的輸出:
1.
2. endline
3. endofstory
但當我使用此代碼:
import java.io.*;
public class DeleteTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File file = new File("D:/mypath/file.txt");
File temp = File.createTempFile("file1", ".txt", file.getParentFile());
String charset = "UTF-8";
String delete = "end";
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp), charset));
for (String line; (line = reader.readLine()) != null;) {
line = line.replace(delete, "");
writer.println(line);
}
reader.close();
writer.close();
}
catch (Exception e) {
System.out.println("Something went Wrong");
}
}
}
我讓我的輸出:
1.
2. line
3. ofstory
你們可以幫我解決我期望的輸出嗎?
感謝您的時間。但是,我的預期產出有一個錯字。我現在編輯過。所以,請根據它向我提供解決方案。 – venk
@venk我編輯了我的答案來解決這個問題。 – Titus
明白了。謝謝你的回答Titus!我只是用空格替換列表項,line = line.replaceAll(「^」+ delete +「$」,「」);它解決了。 – venk