在Java中创建文件时遇到问题
这个程序在createNewFile调用中引发了一个IOException,有人能告诉我为什么会发生这种情况吗?将它包装成在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
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不客气。请不要忘记在答案上打勾。:)