【问题标题】:Unhandled exception type FileNotFoundException (for some odd reason) [duplicate]未处理的异常类型 FileNotFoundException(出于某种奇怪的原因)[重复]
【发布时间】:2017-08-03 15:26:34
【问题描述】:

我的代码非常简单直接。我使用 PrintWriter 类创建了一个空文件,并将数字 1 - 100 写入文件,然后关闭文件。据我所知,PrintWriter 应该创建一个空文件,这让我想知道为什么我会收到这个FileNotFoundException 错误。

public class Practice {

    public static void main(String[] args){

      PrintWriter outputFile = new PrintWriter("nums.txt");

      for(int i = 0; i < 100; i++)
          outputFile.println(i + 1);

      out.close();

    }
}

【问题讨论】:

  • 您显示的代码不可能抛出FileNotFoundException
  • 你能显示完整的错误信息吗?
  • 也许您尝试在只读目录中执行代码。可以查吗?
  • @MikeNakis 是的,它可以,docs.oracle.com/javase/7/docs/api/java/io/…。尝试更改路径并查看。 "C:/Documents/nums.txt"
  • @EduardoDennis wh00ps! C-:=

标签: java


【解决方案1】:

您的代码应如下所示:

public class Practice
{
    public static void main(String[] args)
    {
        PrintWriter outputFile = new PrintWriter("C:\\Documents\\nums.txt");
        for(int i = 0; i < 100; i++)
        {
            outputFile.println(i + 1);
        }
        outputFile.close();
    }
}

这会将 nums 文本文件放入文档文件夹中。

【讨论】:

  • 如果我没有指定路径(相对或绝对),printwriter 不应该在当前工作目录中创建空文件吗?
  • 应该是这样,但是你试过这种方式吗,有没有你想要文件去的特定地方?
  • 我试过添加绝对路径无济于事
【解决方案2】:

仅当程序尝试在我没有访问权限的路径下创建文件时,我才会收到相同的错误。

请检查一下:
一种。如果错误消息包含任何内容“拒绝访问”
湾。如果是这样,请尝试将文件路径映射到您有权访问的文件夹/路径。

Code snapshot + error details

【讨论】:

  • 没有访问被拒绝消息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 2013-01-15
  • 2015-12-17
相关资源
最近更新 更多