打印写入器抛出FileNotFoundException异常

3

我正在编写一段使用PrintWriter类输出到文本文件的代码。但是,当我尝试初始化一个新的PrintWriter时,它会抛出FileNotFound异常。

这里有两个版本的代码都无法工作,writer在全局变量中被初始化为PrintWriter。

File file = new File(fileName);
writer = new PrintWriter(fileName);
writer.println("N: " + N);
writer.println("E: " + E);
writer.println("D: " + D);
writer.flush();
writer.close();

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

writer = new PrintWriter(fileName);
writer.println("N: " + N);
writer.println("E: " + E);
writer.println("D: " + D);
writer.flush();
writer.close();

这是我正在使用的导入列表,我可能漏掉了哪一个?

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.math.*;
import java.math.BigInteger;
import java.util.*;
import java.io.*;

2
fileName 是绝对路径吗?顺便问一下,在你的第一个例子中,你是不是想传入文件:PrintWriter(file) - Lews Therin
在这里发布SSCCE。你会更快地得到答案,或者你会更快地找到答案。 - MockerTim
如果PrintWriter无法打开文件进行写入,则会抛出FNFE异常。 - Oleg Estekhin
我也尝试过使用file.createNewFile(),但它抛出了一个IOException。 - Em Eldar
2个回答

2

这段代码看起来是正确的,并且在我的环境下也能工作良好。请确保路径被正确地给出。如果没有给出路径,请确保调用下面的方法createNewFile根据抽象的文件名创建文件。

File file = new File("test1.txt");
file.createNewFile();

PrintWriter writer = new PrintWriter("test1.txt");
writer.println("N: ");
writer.println("E: ");
writer.println("D: ");
writer.flush();
writer.close();

您也可以使用文件对象以及PrintWriter一起使用。

1
这个方法在创建文件行抛出了IOException,但仍然抛出FileNotFoundException。我是否缺少任何导入? - Em Eldar
1
你能发一下出错的那行代码吗?你也能把你的代码发一下吗? - balaaagi

0
File file = new File(fileName);
writer = new PrintWriter(file);

这应该可以运行。


1
这个方法对我仍然抛出了FileNotFoundException异常。 - Em Eldar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接