Java设置文件权限
2010-11-15 23:22
477 查看
package com.kkoolerter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FilePermission;
import java.io.OutputStream;
public class FilePermissionTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
//FilePermission filePermission = new FilePermission("HJ0x000", "read");
File file = new File("HJ0x001");
file.setReadable(false);
file.setWritable(false);
OutputStream os = new FileOutputStream(file);
os.write(new String("Hello").getBytes());
os.close();
}
}
运行程序将产生以下异常:
Exception in thread "main" java.io.FileNotFoundException: HJ0x001 (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com.kkoolerter.FilePermissionTest.main(FilePermissionTest.java:19)
注意:
调用 file.setWritable(false)并没有真正改变硬盘上的文件权限,而是首先通过实例一个SecurityManager实例,如果SecurityManager实例不为空,则调用实例的的checkWrite(String path)方法,该方法又调用了FileSystem的setPermission方法。如果产生的实例为空,则直接调用FileSystem的setPermission方法。该setPermission方法的原型是 public abstract boolean setPermission(File f, int access, boolean enable, boolean owneronly);
本文出自 “有思想的代码” 博客,请务必保留此出处http://wujuxiang.blog.51cto.com/2250829/424137
import java.io.File;
import java.io.FileOutputStream;
import java.io.FilePermission;
import java.io.OutputStream;
public class FilePermissionTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
//FilePermission filePermission = new FilePermission("HJ0x000", "read");
File file = new File("HJ0x001");
file.setReadable(false);
file.setWritable(false);
OutputStream os = new FileOutputStream(file);
os.write(new String("Hello").getBytes());
os.close();
}
}
运行程序将产生以下异常:
Exception in thread "main" java.io.FileNotFoundException: HJ0x001 (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com.kkoolerter.FilePermissionTest.main(FilePermissionTest.java:19)
注意:
调用 file.setWritable(false)并没有真正改变硬盘上的文件权限,而是首先通过实例一个SecurityManager实例,如果SecurityManager实例不为空,则调用实例的的checkWrite(String path)方法,该方法又调用了FileSystem的setPermission方法。如果产生的实例为空,则直接调用FileSystem的setPermission方法。该setPermission方法的原型是 public abstract boolean setPermission(File f, int access, boolean enable, boolean owneronly);
本文出自 “有思想的代码” 博客,请务必保留此出处http://wujuxiang.blog.51cto.com/2250829/424137
相关文章推荐
- Set file permission in Java(Java 中文件权限的设置)
- Java中怎么设置文件权限
- Java IO 练习3——设置文件权限
- linux下java设置文件读写权限
- java操作LINUX上文件,设置权限问题
- java中怎么设置文件权限
- java拷贝文件夹和android设置文件权限
- java如何设置文件的权限
- Java-基础 文件操作IO 设置文件权限为只读
- java权限设置文件-java.policy
- java拷贝文件夹和android设置文件权限
- java拷贝文件夹和android设置文件权限
- 网站目录文件权限的简单安全设置
- qt 在win8 win10下不能拖拽文件到程序的问题 终于找到答案了 因为把程序的权限设置太高了.解决方法,降低运行权限
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- linux系统中文件的高级权限设置
- 有关linux网站目录文件权限设置
- java 项目linux下写入文件权限777
- 求救: 关于java与linux系统文件权限问题