Java PrintWriter FileNotFound
Java PrintWriter FileNotFound
我在写入 txt 文件时遇到问题。我收到 FileNotFound 异常,但我不知道为什么,因为该文件肯定存在。这是代码。
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.File;
public class Save
{
public static void main(String[] args)
{
File file = new File("C:/Users/Daniel/Desktop/Programs/Save Data Test/save.txt");
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
}
}
在创建 PrintWriter
put
之前,您必须创建带有目录的实际文件
file.mkdirs();
file.createNewFile();
将其与正确的 try 和 catch 块一起使用看起来像这样...
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
public class Save
{
public static void main(String[] args)
{
File file = new File("save.txt");
try {
file.mkdirs();
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
仅仅因为您知道文件在那里,并不意味着您的代码在尝试处理之前不应该检查它是否存在。
就您的 FileNotFound 异常而言,如果 IDE 检测到可能发生异常,一些(如果不是全部的话)Java IDE 会强制您编写 try/catch 块.
例如 NetBeans,代码甚至无法编译:
您必须编写一个 try/catch 块来处理潜在的异常
public static void main(String[] args) {
File file = new File("C:/Users/Daniel/Desktop/Programs/Save Data Test/save.txt");
if (file.exists()) {
try {
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
} catch (FileNotFoundException fnfe){
System.out.println(fnfe);
}
}
}
我在写入 txt 文件时遇到问题。我收到 FileNotFound 异常,但我不知道为什么,因为该文件肯定存在。这是代码。
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.File;
public class Save
{
public static void main(String[] args)
{
File file = new File("C:/Users/Daniel/Desktop/Programs/Save Data Test/save.txt");
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
}
}
在创建 PrintWriter
put
file.mkdirs();
file.createNewFile();
将其与正确的 try 和 catch 块一起使用看起来像这样...
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
public class Save
{
public static void main(String[] args)
{
File file = new File("save.txt");
try {
file.mkdirs();
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
仅仅因为您知道文件在那里,并不意味着您的代码在尝试处理之前不应该检查它是否存在。
就您的 FileNotFound 异常而言,如果 IDE 检测到可能发生异常,一些(如果不是全部的话)Java IDE 会强制您编写 try/catch 块.
例如 NetBeans,代码甚至无法编译:
您必须编写一个 try/catch 块来处理潜在的异常
public static void main(String[] args) {
File file = new File("C:/Users/Daniel/Desktop/Programs/Save Data Test/save.txt");
if (file.exists()) {
try {
PrintWriter pw = new PrintWriter(file);
pw.println("Hello World");
pw.close();
} catch (FileNotFoundException fnfe){
System.out.println(fnfe);
}
}
}