[英]Scanner reading a text file from command line using a loop, but the loop will not break
所以我想從命令行使用 java 讀取 .text 或 .data 文件
java name < filename.data
這是代碼:
ArrayList<String> input = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
System.out.println("Reading line");
String line = scanner.nextLine().trim();
System.out.println("The line is: " + line);
if (line.equals("") || line.isEmpty()) {
System.out.println("Found blank area");
break;
}
System.out.println("Adding to arrayList");
input.add(line);
}
System.out.println("Read in was successful");
“system.out.println("Read in was successfully"); 行從未到達過。似乎用於在讀取后中斷循環的“if”語句也從未到達過。循環似乎也沒有返回到頂部。這是我的輸出(該方法確實成功讀取了我的所有文本文件)
Reading line
The line is: car
Adding to arrayList
Reading line
The line is: mega
Adding to arrayList
Reading line
The line is: bed
Adding to arrayList
Reading line
The line is: stop
Adding to arrayList
Reading line
The line is: game
Adding to arrayList
Reading line
The line is: pots
Adding to arrayList
Reading line
The line is: arc
Adding to arrayList
我希望再運行一次,通過打印出“找到的空白區域”來表明程序已到達文件末尾。
所以它似乎成功地讀取了行,但似乎無法打破。 我的程序沒有崩潰,它只是“掛”在那里,如果有任何意義的話。
它沒有達到if (line.equals("") || line.isEmpty())
代碼,因為我認為空文件中沒有空行,我嘗試運行代碼並獲得所需的輸出,輸入文件內容為
輸出
Reading line
The line is: car
Adding to arrayList
Reading line
The line is: mega
Adding to arrayList
Reading line
The line is: bed
Adding to arrayList
Reading line
The line is: stop
Adding to arrayList
Reading line
The line is: game
Adding to arrayList
Reading line
The line is: pots
Adding to arrayList
Reading line
The line is:
Found blank area
Read in was successful
輸入文件
car
mega
bed
stop
game
pots
arc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.