我想打开一个文件并对其进行扫描以打印其令牌,但出现错误:未报告的异常java.io.FileNotFoundException; 必须被捕获或声明为抛出Scanner stdin = new Scanner(file1);该文件与正确的名称位于同一文件夹中。
import java.util.Scanner; import java.io.File; public class myzips { public static void main(String[] args) { File file1 = new File ("zips.txt"); Scanner stdin = new Scanner (file1); String str = stdin.next(); System.out.println(str); } }
Scanner您正在使用的构造函数将引发FileNotFoundException,您必须在编译时捕获该异常。
Scanner
public static void main(String[] args) { File file1 = new File ("zips.txt"); try (Scanner stdin = new Scanner (file1);){ String str = stdin.next(); System.out.println(str); } catch (FileNotFoundException e) { /* handle */ } }
上面的表示法(try在括号内声明和实例化Scanner )仅在Java 7中有效。表示法是close()在离开try- catch块时用调用将Scanner对象包装起来。您可以在此处了解更多信息。
try
close()