Ⅰ 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類的訪問許可權
在解釋訪問許可權控制之前,先看一個場景。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修飾的成員,只能在定義它們的類中使用,在其他類中不能調用。