Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java删除文本文件中的一行_Java_File_File Io_Delete Row - Fatal编程技术网

使用java删除文本文件中的一行

使用java删除文本文件中的一行,java,file,file-io,delete-row,Java,File,File Io,Delete Row,我很难删除文本文件中的一行,我使用了这段代码,但我最终删除了所有的行,需要一些帮助 试着休假/ { File inputFile=new FileAdlawan+code1; File tempFile=新文件adalwantempfile; BufferedReader reader=新的BufferedReaderNewFileReaderInputFile; BufferedWriter writer=新的BufferedWriternew FileWritertempFile; 字符串l

我很难删除文本文件中的一行,我使用了这段代码,但我最终删除了所有的行,需要一些帮助

试着休假/ { File inputFile=new FileAdlawan+code1; File tempFile=新文件adalwantempfile; BufferedReader reader=新的BufferedReaderNewFileReaderInputFile; BufferedWriter writer=新的BufferedWriternew FileWritertempFile; 字符串lineToRemove=AdlawanJan2012; 串电流线; whilecurrentLine=reader.readLine!=null { //与lineToRemove比较时修剪换行符 字符串trimmedLine=currentLine.trim; iftrimmedLine.EqualSLINE删除 { writer.writecurrentLine; } } writer.close; reader.close; 如果!inputFile.delete { JOptionPane.showMessageDialognull,无法重命名文件; 回来 } 如果!tempFile.rename输入文件 JOptionPane.showMessageDialognull,无法重命名文件; } 卡奇 { JOptionPane.showMessageDialognull; } 文件上的数据如下所示:

AdlawanJan2012年休假积分-0.6875 AdlawanFeb2012休假积分-0.6875 AdlawanMar2012年休假积分-0.6875

修剪线条后的预期结果:

AdlawanFeb2012休假积分-0.6875 AdlawanMar2012年休假积分-0.6875


谢谢…

我认为如果文件中的行以lineToRemove变量开头,您可能会尝试删除该行,在这种情况下,您可能希望使用startsWith方法而不是equal方法


我认为,如果文件中的行以lineToRemove变量开头,那么您正在尝试删除该行,在这种情况下,您可能希望使用startsWith方法而不是equal方法

trim方法仅删除前导和尾随空格,而不删除空格后的字符。

trim方法仅删除前导和尾随空格,而不删除空格后的字符。


一行一行地读取文件内容并将其复制到另一个filetemporal文件(最好是随机访问文件)是一个好主意,并省略要删除的行。只需将其余部分复制到临时文件中,并省略要删除的行。然后将文件重命名为原始名称。请不要样品。我需要你自己做这件事,这样你就能自学成才。祝你好运

一行一行地读取文件内容并将其复制到另一个文件中是个好主意。临时文件最好是随机访问文件,并省略要删除的行。只需将其余部分复制到临时文件中,并省略要删除的行。然后将文件重命名为原始名称。请不要样品。我需要你自己做这件事,这样你就能自学成才。祝你好运

我能够删除两行,但被删除的行是:AdlawanFeb2012休假积分-0.6875和AdlawanMar2012休假积分-0.6875。我想删除行AdlawanJan2012休假积分-.06875。或者更准确地说,我想删除一个特定的行,在本例中是AdlawanJan2012年休假积分-.06875非常感谢您的帮助。我想您忘记添加了!在if条件下,其他行被删除的原因。应该是如果!trimmedLine.startsWithlineToRemove.是的,非常感谢,我确实忘记了…:再次非常感谢。startWith方法是关键。我可以删除两行,但删除的行是以下行:AdlawanFeb2012休假积分-0.6875和AdlawanMar2012休假积分-0.6875。我想删除行AdlawanJan2012休假积分-.06875。或者更准确地说,我想删除一个特定的行,在本例中是AdlawanJan2012年休假积分-.06875非常感谢您的帮助。我想您忘记添加了!在if条件下,其他行被删除的原因。应该是如果!trimmedLine.startsWithlineToRemove.是的,非常感谢,我确实忘记了…:再次非常感谢。startWith方法是关键。
while((currentLine = reader.readLine()) != null)
{
    //trim newline when comparing with lineToRemove
    String trimmedLine = currentLine.trim();
    if(!trimmedLine.startsWith(lineToRemove)) 
    {
        // if current line not start with lineToRemove then write to file
        writer.write(currentLine); 
    }
}
String lineToRemove = "AdlawanJan2012";
String trimmedLine = currentLine.trim();
if(trimmedLine.substring(0, 14).equals(lineToRemove)) {
    //Your deletion logic
}