[英]Write and then read files from /tmp directory in aws lambda using java
[英]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.