[英]Removing a word from A text file
我有一種方法可以從文本文件中以單詞列表格式刪除單詞,但是它會不斷刪除文件中的所有數據,而不是特定單詞
public static void Option2Method() throws IOException
{
File inputFile = new File("wordlist.txt");
File tempFile = new File("TempWordlist.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = JOptionPane.showInputDialog(null, "Enter a word to remove");
String currentLine;
while((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine);
}
boolean successful = tempFile.renameTo(inputFile);
}
代碼必須在編寫器上調用close()
。
確保數據從緩沖區到達實際文件:
while((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine);
}
writer.close();
reader.close();
考慮使用try / catch / finally塊,以確保即使拋出IOException
也關閉了流。
嘗試這個:
String str = "Sample Line";
String[] words = str.split(" ");
for(i=0 to i>arr.length)
{
if(str.indexOf(arr[i])!=-1) //checks if the word is present...
str.replace(arr[i],""); //replace the stop word with a blank
space..
}
或者這樣:
String yourwordline = "dgfhgdfdsgfl Sample dfhdkfl";
yourwordline.replaceAll("Sample","");
嘗試這個:
public static void removeLineMethod(String lineToRemove) throws IOException {
File inputFile = new File("wordlist.txt");
File tempFile = new File("TempWordlist.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String currentLine;
while((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine + "\n");
}
reader.close();
writer.close();
inputFile.delete();
tempFile.renameTo(inputFile);
}
如果不刪除輸入文件,則重命名將失敗,因此請關閉流,刪除輸入文件,然后重命名臨時文件。
File inputFile = new File("wordlist.txt");
File tempFile = new File("TempWordlist.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = JOptionPane.showInputDialog(null, "Enter a word to remove");
String currentLine;
while((currentLine = reader.readLine()) != null)
{
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine);
writer.newLine();
}
reader.close();
writer.close();
inputFile.delete();
tempFile.renameTo(inputFile);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.