【发布时间】:2020-07-06 00:30:20
【问题描述】:
我正在尝试在特定目录中创建一个文件,并且在该检查目录具有写入权限之前,如果是,则创建一个文件。虽然 canWrite() 返回 true,但它在创建时给出 PermissionException。
public static void main(String[] args) {
String downloadPath="\\\\pc.liferay.com\\lfs\\zone\\asia\\banglore";
StringBuilder fileName=new StringBuilder();
fileName.append(downloadPath);
fileName.append(File.separator);
fileName.append("liferay-");
fileName.append(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
fileName.append(".csv");
//new File(fileName.toString());
try {
File destLocation = new File(downloadPath.toString());
System.out.println("Abstract path: "+destLocation);
System.out.println("Write access? "+destLocation.canWrite());
if(destLocation.canWrite()) {
File destFile = new File(fileName.toString());
System.out.println("File path:"+destFile.getPath());
if (destFile.createNewFile()) {
System.out.println("File created: " + destFile.getPath());
} else {
System.out.println("File already exists.");
}
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
System.out.println("Done");
}
输出:
java.io.IOException: Access is denied
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1012)
at com.local.file.downloader.PermissionExcpetionTH.main(PermissionExcpetionTH.java:29)
【问题讨论】:
-
您使用的是什么版本的 Windows?
标签: java file-permissions