Ⅰ java如何设置文件的权限
在Java中,文件权限是非常具体的操作系统:* nix中,NTFS(Windows)及FAT/FAT32,都有着别样的文件权限。 Java提供了一些通用的文件权限来处理它。
检查文件权限允许:
1.file.canExecute(); – 返回true,文件是可执行的,false 则不是。
2.file.canWrite(); – 返回true,文件是可写的,false 则不是。
3.file.canRead(); – 返回true,文件是可读的,false 则不是。
设置文件权限:
1.file.setExecutable(boolean); – true允许执行操作; false则是禁止它。
2.file.setReadable(boolean); – true允许读操作; false则是禁止它。
3.file.setWritable(boolean); – true允许写操作; false则是禁止它。
在* nix的系统中,可能需要配置有关文件权限的详细指定,例如设置777权限的文件或目录,但是,Java的IO类没有现成的方法,但你可以使用下面的解决方法:
Runtime.getRuntime().exec("chmod 777 file");文件权限的例子
import java.io.File;
import java.io.IOException;
/×
×只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限是644.
×/
public class FilePermission
{
public static void main( String[] args )
{
try {
File file = new File("/home/test3.txt");
if (file.createNewFile()){
System.out.println("File is created!");
//Runtime.getRuntime().exec("chmod 777 /home/test3.txt");
file.setExecutable(true);//设置可执行权限
file.setReadable(true);//设置可读权限
file.setWritable(true);//设置可写权限
System.out.println("is execute allow : " + file.canExecute());
System.out.println("is read allow : " + file.canRead());
System.out.println("is write allow : " + file.canWrite());
}else{
System.out.println("File already exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
Ⅱ java中包访问权限private,protected,public和default的区别
private,当前类
default,当前类,同包
protected,当前类、同包、非同包的子类
public,所有类均可访问
Ⅲ java 中的 4 种访问权限有哪些
包,即同一个包内可见:默认
公有,即对所有人可见:public
作为成员的内部类,同其它成员如字段和方法并列。
Ⅳ JAVA包访问控制权限问题
ACD
都是packone包的类
Ⅳ java访问权限是什么
1、private修饰词,表示成员是私有的,只有自身可以访问;
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
5、类的访问限制,仅有public和包访问权限;
a、一个Java文件只能有一个public类
b、public类的名称必须同Java文件名完全一致
c、若Java文件中没有public类,则文件名可以任意
6、final关键字
a、final数据成员,使用前总是被初始化并被强制要求在定义处或构造器中赋值;一旦赋值后,对于基本类型其值会恒定不变,而对于对象引用会始终指向赋值的对象,但指向对象自身是可以修改的;
b、final参数,对于基本类型表示无法改变参数的值,对于对象引用表示无法改变引用所指的对象;
c、final方法,保证方法不会在继承后修改和重载;所有的private方法都隐含式final的;Java中使用动态绑定(后期绑定)实现多态,除了static和final方法是使用前期绑定的;
d、final类,表示该类不可被继承。
Ⅵ java默认权限相当于什么权限
Java中默认权限为包权限。若是类声明为默认权限,则同一个包下的类都可以访问到该类,并可以实例化该类(当然如果这个类不具有实例化的能力除外,比如该类没有提供public的构造函数);若是成员变量或成员方法声明为默认权限,则其是包级可见,同一个包内的类可以访问到这个属性或方法。
Java权限有四个,分别为public,protected,默认,private,其开放程度依次降低
public可供所有类访问
private只能类本身内部的方法可以访问
protected继承可见
Ⅶ 什么是Java类的访问权限
在解释访问权限控制之前,先看一个场景。
在学生信息管理系统中,有两个类,分别是学生类和课程类,课程类提供了课程表和课程安排两个方法,学生类可以调用课程类提供的课程表查看课程安排,但不能调用课程安排方法,该如何处理,此时就可以利用访问权限来进行控制。
在Java中,提供了四种访问权限控制:默认访问权限(包访问权限),public,private以及protected。
默认访问权限(default):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
private: 对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护的”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。下表列出了四种访问权限的控制粒度:
packagecom.cxh.test1;
classPeople{//默认访问权限(包访问权限)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}
从代码可以看出,修饰People类采用的是默认访问权限,而由于People类和Main类在同一个包中,因此People类对于Main类是可见的。
Ⅷ java中包到底是什么意思包访问权限又是什么意思,有C++基础。
包在标准类及程序的组织中并不显眼,但是它们会影响用于类的名字以及这些类包含的变量和方法的名字。本质上,包(package)是一个唯一命名的类的集合。将类集合到包中的主要原因,是为了当在应用程序中使用预先编写的类时避免与类自身可能引起的命名冲突。用于包中的类名不会妨碍另一个包或程序中的类名,因为包中的类名都是通过包名加以限定的。因此,之前使用的String类存在于java.lang 包中,所以String 类的全名是java.lang.String。可以使用非限定名称是因为java.lang包中的所有类在程序代码中总是可用;对于java.lang 包中所有的名称而言,已经有一条隐式的import语句在执行。如果恰好已经用名称String 定义了一个自己的类,使用String 名称会指向您自己的类,但是仍然可以通过在代码中使用全名java.lang.String 来调用同名的库类。Java 中的每个类都包含在一个包中,包括在例子中已经定义的所有类。之所以到目前为止还没有看到很多指向包名的引用,是因为已经在隐式地使用默认包(default package)来保存类,而这并没有名称。Java 中所有的标准类都包含在一系列包中,而且每个包包含的类都在某种程度上相关。包含到目前为止使用的大多数标准类的包称为java.lang,之所以取这个名字,是因为包中的所有类都提供与Java 语言相关的支持。还没有在代码中看到任何指向java.lang 的显式引用,因为这个包在程序中自动可用。之所以这样安排,是因为java.lang 中的有些类,比如String,在每个程序中都会使用。如果使用其他包含标准类的包中的类,就需要使用类的完全限定名称或是显式地将完全类名导入到程序中。
Ⅸ Java中目前学习涉及到的四种权限修饰符都有什么并说明各自的权限范围
简单说一下:
public 公共权限,
可以修饰类,成员变量,成员方法,构造方法
被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符
protected 受保护权限,
可以修饰成员变量,成员方法,构造方法,不能修饰类(外部类,内部类不考虑)
如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
default 默认权限,
类,成员变量,成员方法,构造方法都能使用默认权限,即不写任何关键字
默认权限即同包权限,同包权限的元素只能在定义它们的类中使用,以及同包的类中被调用
private 私有权限,
可以修饰成员变量,构造方法,成员方法,不能修饰类(外部类,内部类不考虑)
被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。