0
import javax.swing.*;
import java.io.*;
import java.util.*;
class Buns {
    public static void main(String[] args) {
        File f= new File("Buns.dat");
            f.createNewFile();
   }
}

该程序在 createNewFile 调用上引发 IOException 谁能告诉我为什么会发生这种情况?

4

3 回答 3

3

将其包裹起来,try/catch block因为File#createNewFile()可能会在IOError的情况下抛出IOException .IOException 是已检查的异常,并且在 java 编译器中将强制您自己检查代码中的异常。handle/declare

try {
File f= new File("Buns.dat");
f.createNewFile();
}
catch(IOException ex){
ex.printStacktrace();
}

java 1.7 开始使用try-with-resource 语句

try(File f= new File("Buns.dat")) {
    f.createNewFile();
    }
    catch(IOException ex){
    ex.printStacktrace();
    }

如果您选择使用 try-with-resource 语句,唯一的区别是您不需要使用finally block. To use try-with-resource though the object which you use inside the try-with-resource statement must implementjava.lang.AutoCloseable 显式关闭您的资源。

您还可以通过throws clause在方法签名中使用来传播异常。

public static void main(String[] args) throws IOException {

有关的:

于 2013-03-02T08:20:07.140 回答
0
public static void main (String [] args) throws IOException
{
    File f= new File ("Buns.dat");
    f.createNewFile ();
}
于 2013-03-02T08:21:15.257 回答
0

检查您是否有权在您正在运行的目录中创建文件。

于 2013-03-02T08:22:03.637 回答