2015-08-28 245 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行。

相關問題