2

次の 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 = new Scanner(new File(file.getName())).useDelimiter("\\Z").next();
      for(i=0;i<content.length-10;i++)
      // do something..
      content = null;
  } // close if..
}

スロー

Exception in thread "main" java.util.NoSuchElementException
     at java.util.Scanner.throwFor(Scanner.java:907)
     at java.util.Scanner.next(Scanner.java:1416)
     at c.main(c.java:18)

ただし、以前に Scanner を使用して特定のファイルを String に読み取っていたとき、 にcontentそのようなエラーはありませんでしたScanner.next()。すべてのファイルをトラバースしようとすると、この例外が発生します。

4

1 に答える 1

2

NoSuchElementException使用可能なトークンがなくなると発生します。

あなたが読んでいるときにこれを試してください

 if(scanner.hasNext())
 scanner.next();
于 2013-11-13T09:16:44.187 に答える