如何通过跳过文件中的第一行和最后一行来读取文本文件

时间:2015-08-28 07:09:10

标签: java file

我想逐行读取文件并将其存储到变量中。但是,我想跳过第一行和最后一行并将其存储到变量中。怎么做?

请帮助使用Java代码来实现这一目标。

2 个答案:

答案 0 :(得分:3)

在Java 7或Java 8中:

List<String> lines = Files.readAllLines(Paths.get("file.txt"));
if(!lines.isEmpty()) {
    lines.remove(0);
}
if(!lines.isEmpty()) {
    lines.remove(lines.size() - 1);
}

如果您确定文件至少包含2行,请删除if条件。

答案 1 :(得分:0)

我建议您使用ArrayList来阅读完整文件:

Scanner s = new Scanner(new File(//Here the path of your file));

ArrayList<String> list = new ArrayList<String>();

while (s.hasNext())
{
    list.add(s.nextLine());
}

现在您已存储了文件的所有行(ArrayList String),您可以使用数据进行操作。

要使用数据进行操作,您只需通过循环迭代它们:

for(int i = 1; i < list.size() - 1; i++)
{
      String line = list.get(i);
      System.out.println(line);
}

看一下我从位置1开始,到位置list.size() - 1结束,以避开文件的第一行和最后一行。

如果您想存储第一行和最后一行,您可以这样做:

String firstLine, lastLine;
firstLine = list.get(0);
lastLine = list.get(list.size());

我希望它会对你有所帮助!