繁体   English   中英

尝试将文件从一个文件夹复制到JAVA中的临时文件夹时出错[拒绝访问]?

[英]Error while trying to copy the file from one folder to a temp folder in JAVA [Access Denied]?

我试图使用java将一堆文件从一个文件夹复制到临时文件夹,但它给我找不到文件错误(访问被拒绝)

代码段是:

`//定义路径

     Path userDir = Paths.get("somePathString");
     Path tempDir = Files.createTempDirectory(userDir, tempFolder);

    // creating file

    File userDirFile = new File(userDir.toString());
    File tempDirFile = new File((tempDir).toString());


    FileCopyUtils.copy(userDirFile, tempDirFile);

    tempDirFile.deleteOnExit();`    

产量

`    java.io.FileNotFoundException: C:\gitProjects\server\bin\newfolder (Access is denied)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at org.springframework.util.FileCopyUtils.copy(FileCopyUtils.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

`

我遇到过Netbeans这个问题。 使用Netbeans包,您不希望将文件直接放在src文件夹中。 相反,你只需要在包文件夹中。

它看起来像你的(访问被拒绝)。 每个文件都有权限,这意味着只有特定用户才能访问该文件。 以下是更改文件权限的Windows方向。

您需要为用户控件设置权限。

转到C:\\ Program Files \\右键单击java文件夹,单击属性。 选择安全选项卡。 在那里,点击“编辑”按钮,弹出PERMISSIONS FOR JAVA窗口。 单击“添加”,将弹出一个新窗口。 在其中,在“输入对象名称”框中,输入您的用户帐户名,然后单击“确定”(如果已存在,请跳过此步骤)。 现在在“PAVISSIONS OF JAVA”窗口中,您将看到几个可点击的选项,如CREATOR OWNER,SYSTEM,其中包括您的用户名。 单击它,选中“子窗口权限”中的“完全控制”选项。 最后,点击申请,好吧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM