我很難在文本文件中刪除一行文本行,我使用了這段代碼,但是我最終刪除了所有的行,需要一些幫助。在使用java的文本文件中刪除一行文本行
try //vacation leave/
{
File inputFile = new File("Adlawan" + code1);
File tempFile = new File("AdalwanTempFile");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = "AdlawanJan2012";
String currentLine;
while((currentLine = reader.readLine()) != null)
{
//trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove))
{
writer.write(currentLine);
}
}
writer.close();
reader.close();
if(!inputFile.delete())
{
JOptionPane.showMessageDialog(null, "Could not rename file");
return;
}
if(!tempFile.renameTo(inputFile))
JOptionPane.showMessageDialog(null, "Could not rename file");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, " ");
}
在文件中的數據是這樣的:
AdlawanJan2012休假離開,現金-0.6875
AdlawanFeb2012休假離開,現金-0.6875
AdlawanMar2012休假離開,現金-0.6875
修剪線條後的所需結果:
AdlawanFeb2012 Vacation-Leave-Credits -0.6875
AdlawanMar2012休假離開,現金-0.6875
謝謝...
我能夠刪除兩行,但刪除的行是行,AdlawanFeb2012 Vacation-Leave-Credits -0.6875和AdlawanMar2012 Vacation-Leave-Credits -0.6875。我想刪除該行(AdlawanJan2012 Vacation-Leave-Credits-0.06875。或者更準確地說,我想刪除特定的行,在這種情況下(AdlawanJan2012 Vacation-Leave-Credits-0.06875)非常感謝幫助。:) – 2012-07-25 09:29:13
我想你忘了添加「!」在條件是爲什麼其他行被刪除。它應該是「if(!trimmedLine.startsWith(lineToRemove))」。 – hidemaru 2012-07-25 10:07:15
是非常感謝你,我忘記了......(:非常感謝你,startWith方法是關鍵。 – 2012-07-25 10:09:46