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

删除文本文件中的最后一行

乜安志
2023-03-14
问题内容

我打算使用Java擦除文本文件中的最后一行;但是,下面的代码将删除所有内容。

public void eraseLast()
{
    while(reader.hasNextLine()) {
        reader.nextLine();

        if (!reader.hasNextLine()) {
            try {
                fWriter = new FileWriter("config/lastWindow.txt");

                writer = new BufferedWriter(fWriter);
                writer.write("");
                writer.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

问题答案:

如果要从文件中删除最后一行而不创建新文件,则可以执行以下操作:

RandomAccessFile f = new RandomAccessFile(fileName, "rw");
long length = f.length() - 1;
do {                     
  length -= 1;
  f.seek(length);
  byte b = f.readByte();
} while(b != 10);
f.setLength(length+1);
f.close();

从倒数第二个字节开始,查找换行符,然后继续向后搜索,直到找到一个。然后在该换行符之后截断该文件。

如果最后一个字符是换行符(即最后一行的末尾),则从第二个最后一个字节而不是最后一个字节开始。



 类似资料:
  • 本文向大家介绍从PHP中的文件中删除最后一行,包括了从PHP中的文件中删除最后一行的使用技巧和注意事项,需要的朋友参考一下 从文件中删除最后一行是一个简单的过程,只需几行代码即可完成。 此脚本中方法的局限性在于,如果文件很大,则将整个文件传递到数组中将占用大量内存,从而有可能导致服务器崩溃。最好的方法不是执行此操作,而是从文件末尾开始直到找到第一个换行符为止。以下脚本将一次咬掉50个字符,直到找到

  • 问题内容: 在互联网上浏览后,我来了。 假设我已经制作了一个文本文件,内容为: 好吧,我想从此文本文件中删除最后一个字符(在本例中为)。 因此,现在文本文件应如下所示: 但是我不知道该怎么做。 我所需要的或多或少是对HDD上文本文件的单个退格功能。 这需要在Linux上工作,因为这就是我正在使用的。 问题答案: 用于从末尾寻找1个位置,然后用于删除文件的其余部分: 这对于单字节编码工作正常。如果您

  • 问题内容: 如何使用python删除文件的最后一行? 输入文件示例: 输出文件示例: 我创建了以下代码来查找文件中的行数-但我不知道如何删除特定的行号。 问题答案: 您可以使用上面的代码,然后: 这将为您提供包含除最后一行以外的所有行的行数组。

  • 问题内容: 我有一个文件,我想用Java处理。我要删除其最后一行。 我需要关于如何实现此目标的想法,而不必将整个内容复制到另一个文件中,而忽略最后一行。有什么建议? 问题答案: 您可以通过扫描文件找到最后一行的开头,然后使用或截断它。

  • 我一直在使用pandas导入CSV,但每次尝试使用它时,我都会得到一个随机的额外行,这会导致代码中的错误。我如何完全抹去这一行? 我用来导入它的代码是:import itertools import copy import networkx as nx import pandas as pd import Matplotlib.pyplot as plt import csv 我的表是一个简单的I

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