Java.io 套件幾乎包含了所有操作輸入、輸出所需的類別。所有這些流類別代表了輸入來源和輸出目標。
Java.io 套件中的串流支援很多格式,例如:基本型別、物件、本地化字元集等等。
一個流可以理解為一個資料的序列。輸入流表示從一個來源讀取數據,輸出流表示向一個目標寫入資料。
Java 為 I/O 提供了強大的而靈活的支持,使其更廣泛地應用到文件傳輸和網路編程中。
Java 的控制台輸入由 System.in 完成。
為了獲得一個綁定到控制台的字元流,你可以把 System.in 包裝在一個 BufferedReader 物件中來建立一個字元流。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader 物件建立後,我們便可以使用 read() 方法從控制台讀取一個字符,或是用 readLine() 方法讀取一個字串。
下面展示如何讀取多字元輸入,這個程式碼會一直讀取控制台的字元輸入,直到使用者輸入q:
char c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("輸入字元, 按 'q' 鍵退出。");
do {
c = (char) br.read();
# System.out.println(c);
# }
while (c != 'q');
# 如果想要讀取字串就用readLine()
在先前已經介紹過,控制台的輸出由 print( ) 和 println() 完成。這些方法都由類別 PrintStream 定義,System.out 是該類別物件的一個參考。
PrintStream 繼承了 OutputStream類,並且實作了方法 write()。這樣,write() 也可以用來往控制台寫入操作。不過這種寫法不常用。
public static void main(String args[])
{
int b; b = 'A';
# System.out.write(b);
# System.out.write('\n');
}
根據上一章節,一個流被定義為一個資料序列。輸入流用於從來源讀取數據,輸出流用於向目標寫入數據。
這章兩個重要的流是 FileInputStream 和 FileOutputStream。
該流用於從檔案讀取數據,它的物件可以用關鍵字 new 來建立。
有多種建構方法可用於建立物件。
使用字串類型的檔案名稱可以建立一個輸入流物件來讀取檔案:
InputStream f = new FileInputStream("C:/java/hello");
# 也可以使用一個檔案物件來建立一個輸入流物件來讀取檔案。我們首先得使用 File() 方法來建立一個檔案物件:
File f = new File("C:/java/hello");
# InputStream out = new FileInputStream(f);
該類別用來建立一個文件並向文件中寫入資料。
如果該流在開啟檔案進行輸出之前,目標檔案不存在,那麼該流會建立該檔案。
有兩個建構方法可以用來建立 FileOutputStream 物件。
使用字串類型的檔案名稱來建立一個輸出流物件:
OutputStream f = new FileOutputStream("C:/java/hello")
也可以使用一個檔案物件來建立一個輸出流來寫入檔案。我們必須先使用File()方法建立一個檔案物件:
File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f);
# 具體的各種方法請見:https://www.runoob.com/java/java-files-io.html
Java檔案類別以抽象的方式代表檔案名稱和目錄路徑名。該類別主要用於檔案和目錄的建立、檔案的查找和檔案的刪除等。
File物件代表磁碟中實際存在的檔案和目錄。透過以下建構方法建立一個File物件。
透過將給定路徑名字串轉換成抽象路徑名來建立一個新 File 實例:
File(String pathname);
# 根據 parent 路徑名字串和 child 路徑名稱字串建立一個新 File 實例:
File(String parent, String child);
透過將給定的 file: URI 轉換成一個抽象路徑名來建立一個新的 File 實例。
File(URI uri);
# FileReader類別從InputStreamReader類別繼承而來。該類別按字元讀取流中資料。
//在給定從中讀取資料的 File 的情況下建立一個新 FileReader:
FileReader(File file);
# //在給定從中讀取資料的 FileDescriptor 的情況下建立一個新 FileReader。
FileReader(FileDescriptor fd);
//在給定從中讀取資料的檔案名稱的情況下建立一個新 FileReader。
FileReader(String fileName);
# FileWriter 類別從 OutputStreamWriter 類別繼承而來。該類別按字元向流中寫入資料。可以透過以下幾種建構方法來建立需要的物件
# 在給出 File 物件的情況下建構一個 FileWriter 物件:
# FileWriter(File file);
# 在給出 File 物件的情況下建構一個 FileWriter 物件。
FileWriter(File file, boolean append);
以上是Java流和檔案的基礎知識點有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!