看到我以前的帖子感覺很可恥。我認爲文本文件是相同的。對於誰在尋找相同的問題,我試圖編輯我的問題更具體和簡潔。相同的文本文件,但掃描儀無法閱讀其中的一個
- input.txt | 大小:1字節| 內容:-2 | 由我自己創建
- input(2).txt | 大小:4字節| 內容:-2 | 從線上解題系統下載
可能出現的問題
- 文件的編碼錯誤引起的錯誤
- '-2' 被解釋爲字符串,並出現錯誤
====
我有兩個文本文件,分別命名爲input.txt
和battery_input.txt
。兩者都包含完全相同的東西,即整數 - 2.它們之間的唯一區別是input.txt
的大小是1個字節,而battery_input.txt
是4個字節。我將它們都放在工作目錄中,並且在生成它們時存在File
實例。但是,Scanner無法從battery_input.txt
讀取Integer。以下是代碼;它打印ERR
。
import java.util.Scanner;
import java.io.File;
public class Scanner_input{
public static void main(String[] args) throws Exception{
File inputFile = new File("battery_input.txt");
Scanner sc = new Scanner(inputFile);
System.out.println("Current Directory = "+System.getProperty("user.dir"));
if(sc.hasNextInt()) {
int num = sc.nextInt();
System.out.println(num);
} else {
System.out.println("ERR!");
}
sc.close();
}
}
沒有if語句,它打印下面給出的錯誤信息:在線程
異常在 java.util.Scanner.throwFor(來源不明) 「主」 java.util.NoSuchElementException在 java.util.Scanner.next(未知來源)在處 Scanner_input.main java.util.Scanner.nextInt(未知來源) java.util.Scanner.nextInt(未知源)(Scanner_input.java:10)
'battery_input.txt'中包含了什麼?我的意思是你可以發佈它嗎? – Mohit
您需要提供文件的絕對路徑 – emotionlessbananas
[使用Java中的Scanner類讀取.txt文件]的可能重複(http://stackoverflow.com/questions/13185727/reading-a-txt-file-using-scanner -class-in-java) – emotionlessbananas