2015-12-15 33 views
0

我試圖通過FileInputStream訪問創建的文件夾訪問文件夾,但Tomcat的返回異常。不依的InputStream

java.io.FileNotFoundException:(directoy path) access denied. 

下面是創建文件夾的代碼。

String dirname = "Myfolder"; 
File dir = new File(dirname); 
dir.mkdirs(); 

我的問題是我無法通過InputStream訪問此文件夾。此目錄的

+1

「拒絕訪問」 - 檢查文件夾權限和驗證用戶身份運行的進程可以訪問該文件夾... – Markus

+0

其沒有權限問題 –

+0

你如何創建FileInputStream? –

回答

0

打印出來的絕對路徑,並確保你是在正確的地方。

log.debug(">>> " + dir.getAbsolutePath()); 

然後檢查運行JVM的用戶是否有權訪問該目錄,或者即使該目錄存在。

+0

嗨,有沒有人知道如何在服務器內存中創建一個文件夾,我想這個文件夾由JVM管理。 我不想將文件夾存儲在系統中。 這裏是我用來在系統中創建一個文件夾的東西: String dirname =「Myfolder」; File dir = new File(dirname); dir.mkdirs(); 但我不想要這個我想在服務器內存中創建文件夾。 –

+0

也許https://github.com/marschall/memoryfilesystem可以幫到你嗎? –

4

你不能用FileInputStream訪問的目錄。您可以在目錄中讀取中的文件,或者您可以使用例如目錄列出目錄的內容。 new File(directory).listFiles()

0

無法打開一個目錄,FileInputStream。要複製一個目錄,你可以從JDK7使用Files.copy(Path, Path, CopyOption...)方法:

String dirname = "Myfolder"; 
File dir = new File(dirname); 
dir.mkdirs(); 
// ... 
Files.copy(dir.toPath(), Paths.get("/target"), StandardCopyOption.REPLACE_EXISTING); 

有關更多信息,請參閱從Java教程此頁:http://docs.oracle.com/javase/tutorial/essential/io/copy.html