我想逐行读取文件并将其存储到变量中。但是,我想跳过第一行和最后一行并将其存储到变量中。怎么做?
请帮助使用Java代码来实现这一目标。
答案 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());
我希望它会对你有所帮助!