import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileHandling1 {
public static void main(String[] args){
try{
File file = new File("FileHandlingExample1.txt", "US-ASCII");
FileWriter writer = new FileWriter(file);
writer.write("This is the first line.");
writer.write("This is the seccond line.");
writer.write("This is the third line.");
writer.flush();
writer.close();
}catch(IOException exception){
System.out.print("This is an IO Exception");
}
}
}
输出: - 这是一个IO异常。
我是Java中的文件处理新手。程序中没有错误。它给出了IO异常。这是为什么?
答案 0 :(得分:1)
我不确切知道文件所在的路径,但这可能是错误的:
File file = new File("FileHandlingExample1.txt", "US-ASCII");
这意味着您的文件US-ASCII
具有父文件夹:FileHandlingExample1.txt
。
这是您正在使用的File
构造函数:
public File(String parent, String child)
你可能颠倒了争论的顺序。
这句话:
FileWriter writer = new FileWriter(file);
如果命名文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开,则抛出IOException。
答案 1 :(得分:0)
这段代码闻起来是因为你没有暴露出实际出错的地方,你隐藏了关于异常的信息和简单的打印“坏事发生”你需要打印异常的堆栈跟踪,你会看到实际发生了什么。
也许你的文件还不存在,你需要在用它做某事之前先创建它,同时注意你是如何创建文件的,你只需要路径,在使用之前你会很高兴看到javadocs {{3} }
public class FileHandling1 {
public static void main(String[] args){
try{
File file = new File("FileHandlingExample1.txt");
file.createNewFile();
FileWriter writer = new FileWriter(file);
writer.write("This is the first line.");
writer.write("This is the seccond line.");
writer.write("This is the third line.");
writer.flush();
writer.close();
}catch(IOException e){
e.printStackTrace();
}
}
}