2

テキストファイルから単語のリスト形式で単語​​を削除する方法がありますが、特定の単語ではなくファイル内のすべてのデータを削除し続けます

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

4 に答える 4

1

コードclose()はライターを呼び出す必要があります。

データがバッファから実際のファイルに取得されることを確認します。

 while((currentLine = reader.readLine()) != null)
 {
   String trimmedLine = currentLine.trim();
   if(trimmedLine.equals(lineToRemove)) continue;
   writer.write(currentLine);
 }

 writer.close();
 reader.close();

IOExceptionがスローされた場合でもストリームが確実に閉じられるように、try/catch/finally ブロックの使用を検討してください。

于 2013-03-27T18:06:48.847 に答える
0

これを試して:

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",""); 
于 2013-03-27T18:10:11.250 に答える
0

これを試して:

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

入力ファイルを削除しないと、名前の変更に失敗するため、ストリームを閉じ、入力ファイルを削除してから、一時ファイルの名前を変更してください。

于 2013-03-27T18:10:14.600 に答える
0
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);
    }
于 2013-03-27T18:14:04.320 に答える