文件

文件:信息的一種組織形式,是存儲在外部存儲介質上的具有標識名的一組相關信息集合

             文件具有保存性,其內容可以被長期保存和使用

文件管理:操作系統不可或缺的重要功能。操作系統的文件系統負責存取和管理文件

能使用txt文本打開的文件,稱爲文本文件


目錄:文件系統組織和管理文件的基本單位,目錄中保存它所管理的每個文件的基本屬性 信息          

文件目錄項: 包括文件名字、文件所有者、文件長度、文件類型、文件保護級別、文件控制屬性、文件創建時間、最後修改時間等文件屬性

文件全名:文件的路徑名和文件名組成,區分文件的唯一標識



目錄分隔符----此分隔符跨平臺使用

File.separator


判斷方法

Øboolean canExecute()判斷文件是否可執行
Øboolean canRead()判斷文件是否可讀
Øboolean canWrite() 判斷文件是否可寫
Øboolean exists() 判斷文件是否存在
Øboolean isDirectory()
Øboolean isFile()
Øboolean isHidden()
Øboolean isAbsolute()判斷是否是絕對路徑 文件不存在也能判斷


Ø獲取方法
ØString getName()
ØString getPath()
ØString getAbsolutePath()
ØString getParent()//如果沒有父目錄返回null
Ølong lastModified()//獲取最後一次修改的時間
Ølong length()
Øboolean renameTo(File f)
ØFile[] liseRoots()//獲取機器盤符
ØString[] list()
ØString[] list(FilenameFilter filter)


例子:

public class TestFile {

public static void main(String[] args) throws IOException {
String path ="E:"+File.separator+"vedio"
+File.separator+"test"+File.separator+"a.txt";
//File.separator== \\
System.out.println("絕對路徑:"+path);

File f = new File(path);
//getPath() 將此抽象路徑名轉換爲一個路徑名字符串
System.out.println("抽象路徑-路徑名字"+f.getPath());//E:\vedio\test\a.txt
System.out.println("-------------------");
System.out.println("f====ff");
File file=new File("E:\\vedio\\test\\demo.txt");
System.out.println(file);
File ff = new File("E:\\vedio\\test","demo.txt");
System.out.println(ff);

System.out.println("…………………………………………………………………………………………");


File files=new File("E:\\vedio\\test\\aa\\demo.txt");

//判斷有沒有這個路徑  有返回 沒有創建返回
if(f.getParentFile().exists()) 
{
// getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;
// .exists())  測試此抽象路徑名錶示的文件或目錄是否存在。
f.createNewFile();
}
else {
//mkdirs()創建此抽象路徑名指定的目錄。
f.getParentFile().mkdirs();
f.createNewFile();//在指定目錄中創建一個新的空文件
}

createFile();
createDir();
removeFile();
System.out.println("…………………………………………………………………………………………");

getFileInfo();

System.out.println("…………………………………………………………………………………………");

testListRoot();


System.out.println("…………………………………………………………………………………………");
System.out.println("…………………………………………………………………………………………");

printFile(f);
}
//創建一個文件
static void createFile(){
File f = new File("E:\\vedio\\test\\demo.txt");

if(!f.exists()) {//判斷文件是否存在 
try {
f.createNewFile();// 沒有就創建空文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


}
//創建目錄
static void createDir()
{
File f = new File("E:\\vedio\\test1");
if(!f.exists())
{ //判斷文件是否存在  沒有就創建
f.mkdirs(); //創建一個目錄
}
}
//刪除文件
static void removeFile() {
File f = new File("E:\\vedio\\test\\demo.txt");

if(f.exists()){

f.delete();
}

//f.deleteOnExit(); //虛擬機退出 ,就刪除文件
}

static void getFileInfo(){
File f = new File("E:\\vedio\\test\\demo.txt");
System.out.println("文件名:"+f.getName());
System.out.println("文件絕對路徑:"+f.getPath());
System.out.println("文件上一"+f.getParent());
System.out.println(f.length());

}

//爲了測驗private static void printFile(File f) 註銷
static void testListRoot(){

/*File[] files = File.listRoots();
//listRoots  列出可用的文件系統根。 放在File[]數組裏
for(File f :files){
System.out.println(f.getAbsolutePath());
}//getAbsolutePath()返回此抽象路徑名的絕對路徑名字符串。 
*/

File f = new File("E:\\vedio\\test");
/*File[] fs = f.listFiles();

for(File ff :fs){
System.out.println(ff.getName());
}// E:\\vedio\\test 這個路徑裏的文件
*/
printFile(f);
}

private static void printFile(File f){
if(f.exists()){
if(!f.isDirectory()){
//.isDirectory()
//測試此抽象路徑名錶示的文件是否是一個目錄。
System.out.println(f.getName());
}else {
System.out.println(f.getName());

File[] fs = f.listFiles();
for(File ff :fs){
printFile(ff);
}
}
}
}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章