【问题标题】:Progam can't see file but it exist. FileNotFoundException程序看不到文件,但它存在。 FileNotFoundException
【发布时间】:2010-01-24 07:20:25
【问题描述】:

所以,我正在编写 FTP 服务器客户端,但代码无法读取任何文件。我是说。我在下载有一个文件。假设 /Downloads/supplement2.pdf 但我得到一个 FileNotFoundException。即使文件在那里,我可以看到它。我什至创建了一个测试文件夹并将其权限设置为 777。仍然没有。

有没有办法设置 netbeans 作为超级用户做什么?我是说。我只想复制和粘贴一些东西,但不能。这是复制和粘贴代码。如果您发现它有任何问题,请分享。

 public static void copyFile(File in, File out)
        throws IOException
    {
        FileChannel inChannel = new
            FileInputStream(in).getChannel();
        FileChannel outChannel = new
            FileOutputStream(out).getChannel();
        try {
            inChannel.transferTo(0, inChannel.size(),
                    outChannel);
        }
        catch (IOException e) {
            throw e;
        }
        finally {
            if (inChannel != null) inChannel.close();
            if (outChannel != null) outChannel.close();
        }
    }

谢谢

【问题讨论】:

  • 你不是在 chroot 中,是吗?
  • 出于兴趣,您是在编写这个作为编程练习吗? (...因为否则您可以使用许多 Java FTP 库实现)。
  • 只是为了澄清 - 您是否获得输入文件、目标文件夹或目标文件的 FNFE?
  • SO 正在吃 cmets - Kevin_Jim 回复的评论包含链接:stackoverflow.com/questions/486494/…
  • @Kevin - 当然,至少这是一个类似的问题 - 我假设您在询问之前使用了 Search ;-) - 开个玩笑 - 另一个问题是由于缺少应用程序的用户访问权限引起的。

标签: java copy-paste filenotfoundexception


【解决方案1】:

您是否指定了正确的文件路径?

您可以尝试指定完整路径或将文件放在与代码相同的目录中。

【讨论】:

  • 我想要做的是将文件从/粘贴到本地 Netbeans 文件夹,是的,该文件夹是绝对正确的。我认为问题在于我必须解除的 java 限制或其他限制。
  • Java 通常以与您相同的权限启动。如果是文件限制问题,您可能会得到类似“FileNotFound exception (Access Denied)”的信息
【解决方案2】:

尝试使用不寻常的名称创建一个新文件,向其中写入一些内容,然后在文件系统中找到该文件。

【讨论】:

    【解决方案3】:

    我粘贴并调用了您的代码

    copyFile(new File("C:/TEMP/Folder1/test.txt"), 
             new File("C:/TEMP/Folder2/test.txt"));
    

    虽然只有文件夹 1 中的文件存在并且 - 是的,但它确实有效。完整的堆栈跟踪可能会有所帮助。源路径或目标路径中的任何文件夹或文档是挂载还是链接?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      相关资源
      最近更新 更多