返回信息流File类中有setReadable()、setWritable()、setExecutable()等几个方法,用来设置文件的权限,代码和运行结果如下:
import java.io.*;
public class Test {
public static void main(String[] args) {
File f = new File("D:/test/1.txt");
boolean br = f.setReadable(false);
boolean bw = f.setWritable(false);
boolean be = f.setExecutable(false);
System.out.println("设置为不可读:" + br);//false,说明修改失败
System.out.println("设置为不可写: " + bw);//true,说明修改成功
System.out.println("设置为不可执行: " + be);//false,说明修改失败
System.out.println();
System.out.println("Is canRead: " + f.canRead());
System.out.println("Is canWrite: " + f.canWrite());
System.out.println("Is canExecute: " + f.canExecute());
}
}
运行结果:
设置为不可读:false
设置为不可写: true
设置为不可执行: false
Is canRead: true
Is canWrite: false
Is canExecute: true
从结果来看只有write权限修改成功了,其他两个都修改失败。我是在windows7下eclipse中测试的,windows使用的是管理员身份登录的,为什么不能修改read和execute权限呢?刚学java不久,求大神解答,感谢。
这是一条镜像帖。来源:北邮人论坛 / java / #40100同步于 2015/4/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【求解答】关于File类中几个修改文件的方法操作失败,如setRead
buptwds
2015/4/23镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
已跪。。找了好久也没找到为啥。。默默的玩耍去了。
【 在 buptwds 的大作中提到: 】
: File类中有setReadable()、setWritable()、setExecutable()等几个方法,用来设置文件的权限,代码和运行结果如下:
: import java.io.*;
: public class Test {
: ...................
好吧,难道这些方法只针对linux?
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: windows有读、写、执行这样的权限吗?
通过『我邮2.0』发布
【 在 buptwds 的大作中提到: 】
: 好吧,难道这些方法只针对linux?
:
: 通过『我邮2.0』发布
mac也有。反正文件系统、权限这种东西和系统很相关的。