当前位置: 首页 > 面试题库 >

如何删除文本文件的行?

拓拔富
2023-03-14
问题内容

如何使用Java删除文本文件的前两行?


问题答案:

这是番石榴解决方案

public static void removeLines(final File targetFile,
    final Charset charSet,
    final Collection<Integer> lineNumbers) throws IOException{
    final List<String> lines = Files.readLines(targetFile, charSet);
    // line numbers need to be sorted in reverse.
    // if they are, you can replace everything from Ordering until )){
    // with 'lineNumbers){'
    for(final Integer lineNumber : Ordering
        .natural()
        .reverse()
        .immutableSortedCopy(lineNumbers)){
        lines.remove(lineNumber.intValue());
    }
    Files.write(Joiner.on('\n').join(lines), targetFile, charSet);
}

是的,整个文件都被读到内存中,因此不要尝试使用庞大的服务器日志文件。



 类似资料:
  • 问题内容: 我一直在网上搜索,但没有找到任何好的解决方案。 这是我的文本文件: 我要删除的是第一行(这意味着将第二行用作第一行,而不用空格填充第一行)。 有人可以帮我吗? 问题答案: 假设您有足够的内存来将所有内容保存在内存中: 我们可能会更喜欢,打开文件,阅读,然后找回开始,消除第二个,但这确实足够了。

  • 问题内容: 我有以下数据,需要将它们全部放在一行中。 我有这个: 我需要这个: 这些命令均无法完美运行。 他们中的大多数让数据像这样: 问题答案: 编辑: 如果此处发布的所有命令均不起作用,则除了换行符以外,您还有其他用途。可能文件中有DOS / Windows行尾(尽管我希望Perl解决方案即使在这种情况下也可以工作)? 尝试: 如果这不起作用,那么您将不得不更仔细地检查文件(例如,在十六进制编

  • 我在使用org.apache.commons.io.FileUtils从img目录删除文件时遇到问题。我正在使用以下代码: 实际上,该代码是用来替换img目录中已有的图像文件。我需要删除所有以前存在的文件,名称是n.*,与新文件,例如n.png。如果我试图删除图像文件,我会得到变量成功的false值,并且文件不会被删除。但不包括图像文件,例如*.abc;*.ACD;*.ACDC等被成功删除。这个问

  • 问题内容: 我有一个像这样的textfile.txt: 如何删除最舒适的前三行和最后一行? 问题答案:

  • 问题内容: 如何删除文本文件中的特定字符串? 问题答案: 找到文件。 创建一个临时文件(否则,您必须先将所有内容读取到Java的内存中)。 确定字符集。 确定您要删除的字符串。 打开文件进行读取。 打开临时文件进行写入。 逐行读取文件。 从行中删除字符串。 将其写入临时文件。 关闭读取器和写入器(最好在块中)。 删除文件。 重命名临时文件。 也可以看看: Java教程-课程:基本I / O

  • 问题内容: 如何在Python中删除文件或文件夹? 问题答案: 删除文件。 删除一个空目录。 删除目录及其所有内容。 模块中的对象还公开了这些实例方法: 删除文件或符号链接。 删除一个空目录。