在Java中创建文件时遇到问题

在Java中创建文件时遇到问题,java,ioexception,Java,Ioexception,这个程序在createNewFile调用中引发了一个IOException,有人能告诉我为什么会发生这种情况吗?将它包装成try/catch block,因为在IOError的情况下可能会抛出IOException。IOException是一个选中的异常,java编译器会强迫您handle/declare自己检查代码中的异常 import javax.swing.*; import java.io.*; import java.util.*; class Buns { public st

这个程序在createNewFile调用中引发了一个IOException,有人能告诉我为什么会发生这种情况吗?

将它包装成
try/catch block
,因为在IOError的情况下可能会抛出IOException。IOException是一个选中的异常,java编译器会强迫您
handle/declare
自己检查代码中的异常

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();
   }
}
Java1.7使用:

try {
File f= new File("Buns.dat");
f.createNewFile();
}
catch(IOException ex){
ex.printStacktrace();
}
如果您选择使用try with resource语句,唯一的区别是不需要使用
finally块显式关闭资源。要通过try with resource语句中使用的对象使用try with resource,必须实现
java.lang.AutoCloseable`

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

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

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

将其包装在
try/catch block
上,就像在IOError的情况下可能抛出的IOException一样。IOException是一个选中的异常,在java编译器中,它将强制您自己在代码中处理/声明
选中的异常

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();
   }
}
Java1.7使用:

try {
File f= new File("Buns.dat");
f.createNewFile();
}
catch(IOException ex){
ex.printStacktrace();
}
如果您选择使用try with resource语句,唯一的区别是不需要使用
finally块显式关闭资源。要通过try with resource语句中使用的对象使用try with resource,必须实现
java.lang.AutoCloseable`

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

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

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

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

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

复制了代码,代码运行正常。异常消息是什么?(请注意,您编写的代码甚至不会编译,因为您既没有捕获
IOException
,也没有声明
main
可以抛出它。)您从异常中得到的消息是什么?啊,我认为OP表示编译器反对未处理的异常,并不是说实际抛出了异常。复制了代码,结果很好。异常的消息是什么?(请注意,您编写的代码甚至不会编译,因为您既没有捕获
IOException
,也没有声明
main
可以抛出它。)您从异常中得到的消息是什么?啊,我认为OP表示编译器反对未处理的异常,并不是说实际抛出了异常。谢谢,它起作用了,非常有用=D@KevinK不客气。请不要忘记在答案上打勾。:)谢谢,它起作用了,很有帮助=D@KevinK不客气。请不要忘记在答案上打勾。:)