我正在开发一个小应用程序,它应该将一些文件插入到程序目录中。当谈到写这个文件时,它就会失败
java.io.FileNotFoundException (permission denied)
这是我的代码(有点乱,正在调试这个很多)
while(ze!=null){
String fileName = ze.getName();
File newFile = new File(outputFolder + File.separator + fileName);
System.out.println("file unzip : "+ newFile.getAbsoluteFile());
//create all non exists folders
//else you will hit FileNotFoundException for compressed folder
new File(newFile.getParent()).mkdirs();
new File(newFile.getParent()).setWritable(true,false);
if(newFile.isDirectory()){
newFile.mkdir();
newFile.getParentFile().setReadOnly();
newFile.setReadable(true);
newFile.setExecutable(true);
if(newFile.setWritable(true)){
System.out.println("permission set success");
}else{
System.out.println("permission set failed");
}
newFile.getParentFile().setReadable(true);
newFile.getParentFile().setExecutable(true);
newFile.getParentFile().setWritable(true);
if(newFile.getParentFile().canWrite()){
System.out.println("Parent Writable");
}else{
System.out.println("Parent Not Writable");
newFile.getParentFile().setWritable(true, false);
}
}
if(!newFile.canWrite()){
System.out.println("We cannot write!");
}else{
System.out.println("We can write!");
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
ze = zis.getNextEntry();
}
}
zis.closeEntry();
zis.close();
System.out.println("Done");
输出: 文件解压缩: 权限集失败 父母可写 我们可以写! java.io.FileNotFoundException :(权限被拒绝)
我尝试在具有管理员权限和普通用户(eclipse)的CMD中运行应用程序并且两者都失败了,这可能是什么原因?