因此,我在使用Scanner類從文件讀取內容時遇到了一個有趣的問題。基本上,我試圖從目錄中讀取由解析應用程序生成的幾個輸出文件,以計算一些準確度度量。用java掃描儀讀取文件的怪異行爲
基本上,我的代碼只是遍歷目錄中的每個文件,並用掃描器打開它們以處理內容。無論出於何種原因,掃描儀都沒有讀取一些文件(所有UTF-8編碼)。即使這些文件不是空的,scanner.hasNextLine()在第一次調用時會返回false(我打開調試器並觀察它)。我每次都直接用File對象初始化掃描器(成功創建文件對象)。即:
File file = new File(pathName);
...
Scanner scanner = new Scanner(file);
我試了幾件事情,並最終能夠通過以下方式初始化掃描儀來解決這個問題:
Scanner scanner = new Scanner(new FileInputStream(file));
雖然我很高興已經解決了這個問題,我仍然很好奇,以前可能會發生什麼事情導致問題。有任何想法嗎?非常感謝!
我在一起竊取一些東西,遇到了確切的問題。 FileInputStream來拯救! – masher