Java 使用扫描器一次读取一个文件夹中的所有文件不会产生任何异常
以下Java代码:Java 使用扫描器一次读取一个文件夹中的所有文件不会产生任何异常,java,java.util.scanner,file-handling,nosuchelementexception,Java,Java.util.scanner,File Handling,Nosuchelementexception,以下Java代码: File folder = new File("/home"); File[] listofFiles = folder.listFiles(); for (j = 0; j < listofFiles.length; j++) { File file = listofFiles[j]; if (file.isFile() && file.getName().endsWith(".ucf")) { String content = n
File folder = new File("/home");
File[] listofFiles = folder.listFiles();
for (j = 0; j < listofFiles.length; j++) {
File file = listofFiles[j];
if (file.isFile() && file.getName().endsWith(".ucf")) {
String content = new Scanner(new File(file.getName())).useDelimiter("\\Z").next();
for(i=0;i<content.length-10;i++)
// do something..
content = null;
} // close if..
}
但是,早些时候,当我使用Scanner将特定文件读取为字符串
内容时,Scanner.next()
中没有此类错误。现在,当我尝试遍历所有文件时,它会出现此异常。NoSuchElementException
在没有更多令牌可用时发生
当你阅读的时候试试这个
if(scanner.hasNext())
scanner.next();
在使用调试器时,您到底从哪里得到异常?在使用hasNextInt()
方法读取内容之前,您需要检查内容是否存在。@DigvijayYadav正如您所说,一个空文件给出了异常。该死,一个空文件给出了异常,您的答案是正确的。谢谢
if(scanner.hasNext())
scanner.next();