私は次のコードを持っています:
List<FileItem> items = uploadHandler.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
File file = new File("D:/Data");
}
}
ファイルを保存しようとすると、次のエラーが表示されます
Java.io.FileNotFoundException: D:\Data (Access is denied.)
理由は何ですか?これを解決するにはどうすればよいですか?このフォルダに対する読み取りおよび書き込み権限があります。
新しいFile
を作成するときは、ファイルを配置するディレクトリだけでなく、ファイル名を指定することになっています。
のようなもので試してください
File file = new File("D:/Data/" + item.getFileName());
この質問の正確なケースではありませんが、役立つ場合があります。親ではなく新しいファイルでmkdirs()を呼び出すと、この例外が発生しました
File file = new Java.io.File(path);
//file.mkdirs(); // wrong!
file.getParentFile().mkdirs(); // correct!
if (!file.exists()) {
file.createNewFile();
}
この問題を検索しましたが、次の回答がありました。
"C:\Program Files\Apache-Tomcat-7.0.69\"
余分なバックスラッシュを削除(\
)あなたの問題は解決されます
ユーザーコントロールのアクセス許可を設定する必要があります。
ディレクトリが存在することを確認し、アクセスする権限があり、ログに書き込むためにファイルをパスに追加します。
File file = new File("D:/Data/" + item.getFileName());