簡體   English   中英

Java-創建目錄並從AWS添加文件

[英]Java - Create a directory and add files from aws

我正在嘗試從AWS檢索文件並將它們存儲在目錄中。 我不斷收到以下錯誤:

java.io.FileNotFoundException: C:\Users\Matthew\AppData\Local\Temp\UPDATE_TEMP_5190592302690883358\aws (Access is denied)

這是引發錯誤的代碼:

    File outputFile = new File(tmpDirPath + File.separator + "aws");

    outputFile.mkdirs();

    FileOutputStream fos = new FileOutputStream(outputFile);

在創建FileOutputStream之前會抱怨。 我已經嘗試過outputFile.getParentFile()。mkdirs(); 也可以,但是它將aws創建為File類型而不是目錄類型。 有人可以解釋為什么它導致對目錄的訪問被拒絕嗎?

根據官方的javadoc,調用mkdirs()為給定路徑創建所有父目錄,該目錄被視為目錄。 結果,如果檢查發生了什么,您會發現C:\\Users\\Matthew\\AppData\\Local\\Temp\\UPDATE_TEMP_5190592302690883358\\aws不是文件,而是目錄。

我建議你更換

outputFile.mkdirs(); // which creates all directories, outputFile included

通過

outputFile.getParentFile().mkdirs(); // creates all directories up to outputFile's parent
                                     // outputFile will then be created as a file due to the FileOutputWriter

這將創建父目錄。 然后,您將可以寫入新文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM