【问题标题】:PrintWriter throwing FileNotFoundExceptionPrintWriter 抛出 FileNotFoundException
【发布时间】:2015-04-16 15:02:36
【问题描述】:

我正在编写一个使用 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.*;

【问题讨论】:

  • fileName 是绝对路径吗?顺便说一句,在您的第一个示例中,您的意思是传递文件:PrintWriter(file)
  • 在此处发布SSCCE。你会更快地得到答案,或者你会更快地自己找到它。
  • PrintWriter 如果无法打开文件进行写入,则会抛出 FNFE。
  • 我也尝试过使用 file.createNewFile() 但它会抛出 IOException

标签: java processing printwriter


【解决方案1】:

这两个代码似乎都是正确的,并且对我来说工作正常。确保正确给出路径。如果没有给出路径,请确保调用方法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 一起使用。

【讨论】:

  • 此方法抛出创建文件行的 IOException,仍然抛出 FileNotFoundException。我错过了任何进口吗?
  • 你能把出错的那一行贴出来吗?您也可以发布您的代码吗?
【解决方案2】:
File file = new File(fileName);
writer = new PrintWriter(file);

这应该可行。

【讨论】:

  • 这个方法仍然为我抛出 FileNotFoundException
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多