本文目錄一覽:
- 1、為什麼Java中的file類無法只能操作不能讀寫?
- 2、java中 File file=new File(“.”)是什麼意思?
- 3、java 種的File類是用來做什麼的?有什麼用處?(追加40分)
- 4、java中File類常用的方法有哪些?
為什麼Java中的file類無法只能操作不能讀寫?
說下我的理解,通常意思下,我們理解的文件,其實包含兩部分,一部分是指保存在磁盤上的文件的具體內容,另一部分指的是保存在操作系統文件系統裡面的文件名稱,目錄那些東西。(這裡你可以去搜索下 linux inode 理解相關的概念,這裡我也不是很熟)。
文件系統是操作系統封裝磁盤操作產生的一層東西,我們只能通過操作系統提供的文件系統的API去操作磁盤。(這裡可以去學習下操作系統相關的知識)。
java中的FIle指的是 文件系統裡面的一個file,這個對象,只包含文件的一些元數據,文件大小,位置,創建時間,修改時間,創建人,權限等等一系列的文件元數據,它是不包含文件具體的內容的。所以你只能操作它,不能讀寫。所謂的操作,也就是對文件系統 那一棵文件目錄樹 進行增刪改查的操作。
file這個對象里,應該包含這個文件在磁盤上的具體位置,通過這個位置,你就可以通過文件系統的API進行文件的讀寫了。(這裡,我的理解是這樣,具體是不是這樣,我也不確定,可以去搜索 posix標準 查看通用的一些文件操作的API 來驗證下)。
而對文件具體內容的操作,你必須通過IO操作去實現。這裡過程大概如下,涉及操作系統跟驅動相關的過程,去百度吧,我也不是很熟。
java中 File file=new File(“.”)是什麼意思?
1僅加一個點,表示當前目錄。
2補充幾點:Java中的File類的作用就是一個文件或目錄的抽象表示,當然這裡是表示目錄的,可以進一步用exists()和isDirectory()方法判斷。
3.舉例代碼:
public class TestDemo {
public static void main(String[] args) throws Exception {
File file = new File(“.”);
// 參數”.”點表示當前路徑
// new File(“.”) 表示用當前路徑 生成一個File實例,!!!並不是表達創建一個 . 文件
String path = file.getCanonicalPath();
System.out.println(path);
//輸出file代表的路徑
File file2 = new File(“bcde.txt”);
boolean b = file2.createNewFile();//這才是創建一個名為bcde.txt的文件 windows不支持文件名為一個點”.”
if(b){
System.out.println(“在當前路徑”+path+”下創建文件bcde.txt成功”);
}else{
//如bcde.txt已經存在,再次創建就會失敗,
System.out.println(“在當前路徑”+path+”下創建文件bcde.txt失敗”);
}
}
}
java 種的File類是用來做什麼的?有什麼用處?(追加40分)
File類是用來操作文件及目錄(文件夾)的,你可以拋開別的,只是想想,
能對文件及目錄幹什麼?無非就是創建文件或目錄,刪除、修改文件的內容等簡單操作。再就是通過遍歷文件做某些操作。File類就是干這些的。你再依據以下小程序理解下File類的操作就覺得簡單了。
File
f
=
new
File(“d://123.txt”);//你可以把它理解為告訴File類要操作的路徑,但是還沒讓它操作。
f.createNewFile()
;//創建文件,如果創建成功返回true
f.delete()
;//刪除文件,如果刪除成功返回true
。。。
java中File類常用的方法有哪些?
給你一個中文的吧。你不想看英文的API;File類是直接繼承Object類的。Object類的方法我就不不寫了:\x0d\x0a字段摘要\x0d\x0astaticStringpathSeparator\x0d\x0a與系統有關的路徑分隔符,為了方便,它被表示為一個字符串。\x0d\x0astaticcharpathSeparatorChar\x0d\x0a與系統有關的路徑分隔符。\x0d\x0astaticStringseparator\x0d\x0a與系統有關的默認名稱分隔符,為了方便,它被表示為一個字符串。\x0d\x0astaticcharseparatorChar\x0d\x0a與系統有關的默認名稱分隔符。\x0d\x0a構造方法摘要\x0d\x0aFile(Fileparent,Stringchild)\x0d\x0a根據parent抽象路徑名和child路徑名字符串創建一個新File實例。\x0d\x0aFile(Stringpathname)\x0d\x0a通過將給定路徑名字符串轉換為抽象路徑名來創建一個新File實例。\x0d\x0aFile(Stringparent,Stringchild)\x0d\x0a根據parent路徑名字符串和child路徑名字符串創建一個新File實例。\x0d\x0aFile(URIuri)\x0d\x0a通過將給定的file:URI轉換為一個抽象路徑名來創建一個新的File實例。\x0d\x0a方法摘要\x0d\x0abooleancanExecute()\x0d\x0a測試應用程序是否可以執行此抽象路徑名表示的文件。\x0d\x0abooleancanRead()\x0d\x0a測試應用程序是否可以讀取此抽象路徑名表示的文件。\x0d\x0abooleancanWrite()\x0d\x0a測試應用程序是否可以修改此抽象路徑名表示的文件。\x0d\x0aintcompareTo(Filepathname)\x0d\x0a按字母順序比較兩個抽象路徑名。\x0d\x0abooleancreateNewFile()\x0d\x0a當且僅當不存在具有此抽象路徑名指定名稱的文件時,不可分地創建一個新的空文件。\x0d\x0astaticFilecreateTempFile(Stringprefix,Stringsuffix)\x0d\x0a在默認臨時文件目錄中創建一個空文件,使用給定前綴和後綴生成其名稱。\x0d\x0astaticFilecreateTempFile(Stringprefix,Stringsuffix,Filedirectory)\x0d\x0a在指定目錄中創建一個新的空文件,使用給定的前綴和後綴字符串生成其名稱。\x0d\x0abooleandelete()\x0d\x0a刪除此抽象路徑名表示的文件或目錄。\x0d\x0avoiddeleteOnExit()\x0d\x0a在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄。\x0d\x0abooleanequals(Objectobj)\x0d\x0a測試此抽象路徑名與給定對象是否相等。\x0d\x0abooleanexists()\x0d\x0a測試此抽象路徑名表示的文件或目錄是否存在。\x0d\x0aFilegetAbsoluteFile()\x0d\x0a返回此抽象路徑名的絕對路徑名形式。\x0d\x0aStringgetAbsolutePath()\x0d\x0a返回此抽象路徑名的絕對路徑名字符串。\x0d\x0aFilegetCanonicalFile()\x0d\x0a返回此抽象路徑名的規範形式。\x0d\x0aStringgetCanonicalPath()\x0d\x0a返回此抽象路徑名的規範路徑名字符串。\x0d\x0alonggetFreeSpace()\x0d\x0a返回此抽象路徑名指定的分區中未分配的字節數。\x0d\x0aStringgetName()\x0d\x0a返回由此抽象路徑名表示的文件或目錄的名稱。\x0d\x0aStringgetParent()\x0d\x0a返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回null。\x0d\x0aFilegetParentFile()\x0d\x0a返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒有指定父目錄,則返回null。\x0d\x0aStringgetPath()\x0d\x0a將此抽象路徑名轉換為一個路徑名字符串。\x0d\x0alonggetTotalSpace()\x0d\x0a返回此抽象路徑名指定的分區大小。\x0d\x0alonggetUsableSpace()\x0d\x0a返回此抽象路徑名指定的分區上可用於此虛擬機的字節數。\x0d\x0ainthashCode()\x0d\x0a計算此抽象路徑名的哈希碼。\x0d\x0abooleanisAbsolute()\x0d\x0a測試此抽象路徑名是否為絕對路徑名。\x0d\x0abooleanisDirectory()\x0d\x0a測試此抽象路徑名表示的文件是否是一個目錄。\x0d\x0abooleanisFile()\x0d\x0a測試此抽象路徑名表示的文件是否是一個標準文件。\x0d\x0abooleanisHidden()\x0d\x0a測試此抽象路徑名指定的文件是否是一個隱藏文件。\x0d\x0alonglastModified()\x0d\x0a返回此抽象路徑名表示的文件最後一次被修改的時間。\x0d\x0alonglength()\x0d\x0a返回由此抽象路徑名表示的文件的長度。\x0d\x0aString[]list()\x0d\x0a返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。\x0d\x0aString[]list(FilenameFilterfilter)\x0d\x0a返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。\x0d\x0aFile[]listFiles()\x0d\x0a返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。\x0d\x0aFile[]listFiles(FileFilterfilter)\x0d\x0a返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。\x0d\x0aFile[]listFiles(FilenameFilterfilter)\x0d\x0a返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。\x0d\x0astaticFile[]listRoots()\x0d\x0a列出可用的文件系統根。\x0d\x0abooleanmkdir()\x0d\x0a創建此抽象路徑名指定的目錄。\x0d\x0abooleanmkdirs()\x0d\x0a創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。\x0d\x0abooleanrenameTo(Filedest)\x0d\x0a重新命名此抽象路徑名表示的文件。\x0d\x0abooleansetExecutable(booleanexecutable)\x0d\x0a設置此抽象路徑名所有者執行權限的一個便捷方法。\x0d\x0abooleansetExecutable(booleanexecutable,booleanownerOnly)\x0d\x0a設置此抽象路徑名的所有者或所有用戶的執行權限。\x0d\x0abooleansetLastModified(longtime)\x0d\x0a設置此抽象路徑名指定的文件或目錄的最後一次修改時間。\x0d\x0abooleansetReadable(booleanreadable)\x0d\x0a設置此抽象路徑名所有者讀權限的一個便捷方法。\x0d\x0abooleansetReadable(booleanreadable,booleanownerOnly)\x0d\x0a設置此抽象路徑名的所有者或所有用戶的讀權限。\x0d\x0abooleansetReadOnly()\x0d\x0a標記此抽象路徑名指定的文件或目錄,從而只能對其進行讀操作。\x0d\x0abooleansetWritable(booleanwritable)\x0d\x0a設置此抽象路徑名所有者寫權限的一個便捷方法。\x0d\x0abooleansetWritable(booleanwritable,booleanownerOnly)\x0d\x0a設置此抽象路徑名的所有者或所有用戶的寫權限。\x0d\x0aStringtoString()\x0d\x0a返回此抽象路徑名的路徑名字符串。\x0d\x0aURItoURI()\x0d\x0a構造一個表示此抽象路徑名的file:URI。\x0d\x0aURLtoURL()\x0d\x0a已過時。此方法不會自動轉義URL中的非法字符。建議新的代碼使用以下方式將抽象路徑名轉換為URL:首先通過toURI方法將其轉換為URI,然後通過URI.toURL方法將URI裝換為URL。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248864.html