[英]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.