簡體   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