2015-08-28 246 views
0

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

请帮忙用Java代码来实现这一点。

+2

你有没有试过任何代码?提供一些并询问有关该代码的问题。 –

+0

跳过第一行很简单 - 在开始任何循环之前阅读并将其放在地板上。要跳过最后一行,请将最近读取的行保留在单独的变量中,并且只有当您看到它具有后继时才将其添加到结果中。 –

回答

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()); 
} 

现在你已经存储在文件的所有线路(作为StringArrayList),您可以用数据进行操作。

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()); 

我希望这将是对你有帮助!

+0

非常感谢..它的工作.... –

+0

@DariusJames我很高兴它对你有帮助!如果您认为这是最佳答案,请将其标记为已接受答案。谢谢! –

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); 
} 

卸下if条件如果是一定的文件包含至少2行。

相关问题