我試圖編寫一種方法來掃描文本文件,並將所有以#
開頭的行添加到String
稱爲元數據。之後,我想掃描接下來的三個整數,從第一行開始,不包含#
。但是,不包含#
的第一行會被跳過,因爲我已經使用scan.nextLine()
來掃描它。如何掃描已掃描的行中的整數scan.nextLine()
File file = new File(filename);
Scanner scan = new Scanner(file);
String format = scan.nextLine();
String metadata = "";
//This loop adds all lines starting with # to metadata.
outerloop:
while(scan.hasNextLine()){
String line = scan.nextLine();
if(line.startsWith("#")){
metadata = metadata+line;
} else {
break outerloop;
}
}
//Scans the next three integers and sets them equal to width, height, and maxRange.
int width = scan.nextInt();
int height = scan.nextInt();
int maxRange = scan.nextInt();
我的輸入是一個文本文件。前六行顯示在此屏幕截圖中。
只有一個以#開頭的行,但我的方法必須能夠處理與多條線路,從第一個文件。輸出應該
format = "P3"
metadata = "# CREATOR: GIMP PNM Filter Version 1.1"
width = 200
height = 133
maxRange = 255
但是相反,我得到
format = "P3"
metadata = "# CREATOR: GIMP PNM Filter Version 1.1"
width = 255
height = 183
maxRange = 187
顯示我們作爲評論什麼是輸入和預期輸出請... –
http ://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#Scanner-java.lang.String- –
你可以使'新的掃描儀(行)' –