首頁  >  文章  >  Java  >  Java流和檔案的基礎知識點有哪些?

Java流和檔案的基礎知識點有哪些?

WBOY
WBOY轉載
2023-04-27 14:34:071034瀏覽

1.Stream流

a.定義:

Java.io 套件幾乎包含了所有操作輸入、輸出所需的類別。所有這些流類別代表了輸入來源和輸出目標。

Java.io 套件中的串流支援很多格式,例如:基本型別、物件、本地化字元集等等。

一個流可以理解為一個資料的序列。輸入流表示從一個來源讀取數據,輸出流表示向一個目標寫入資料。

Java 為 I/O 提供了強大的而靈活的支持,使其更廣泛地應用到文件傳輸和網路編程中。

 b.控制台輸入:

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()

# c.控制台輸出:

在先前已經介紹過,控制台的輸出由 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');

}

2.File檔案讀寫:

根據上一章節,一個流被定義為一個資料序列。輸入流用於從來源讀取數據,輸出流用於向目標寫入數據。

這章兩個重要的流是 FileInputStream 和 FileOutputStream。

a.FileInputStream:

該流用於從檔案讀取數據,它的物件可以用關鍵字 new 來建立。

有多種建構方法可用於建立物件。

使用字串類型的檔案名稱可以建立一個輸入流物件來讀取檔案:

InputStream f = new FileInputStream("C:/java/hello");  

# 也可以使用一個檔案物件來建立一個輸入流物件來讀取檔案。我們首先得使用 File() 方法來建立一個檔案物件:

File f = new File("C:/java/hello");

# InputStream out = new FileInputStream(f);

b.FileOutputStream:

該類別用來建立一個文件並向文件中寫入資料。

如果該流在開啟檔案進行輸出之前,目標檔案不存在,那麼該流會建立該檔案。

有兩個建構方法可以用來建立 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

#  c.File Class(類別):

Java檔案類別以抽象的方式代表檔案名稱和目錄路徑名。該類別主要用於檔案和目錄的建立、檔案的查找和檔案的刪除等。

File物件代表磁碟中實際存在的檔案和目錄。透過以下建構方法建立一個File物件。

透過將給定路徑名字串轉換成抽象路徑名來建立一個新 File 實例:

File(String pathname);

# 根據 parent 路徑名字串和 child 路徑名稱字串建立一個新 File 實例:

File(String parent, String child);

透過將給定的 file: URI 轉換成一個抽象路徑名來建立一個新的 File 實例。

File(URI uri);

# d.Java FileReader類別:

# FileReader類別從InputStreamReader類別繼承而來。該類別按字元讀取流中資料。

//在給定從中讀取資料的 File 的情況下建立一個新 FileReader:

FileReader(File file);

# //在給定從中讀取資料的 FileDescriptor 的情況下建立一個新 FileReader。

FileReader(FileDescriptor fd);

//在給定從中讀取資料的檔案名稱的情況下建立一個新 FileReader。

FileReader(String fileName);

# e.Java FileWriter類別:

# FileWriter 類別從 OutputStreamWriter 類別繼承而來。該類別按字元向流中寫入資料。可以透過以下幾種建構方法來建立需要的物件

# 在給出 File 物件的情況下建構一個 FileWriter 物件:

# FileWriter(File file);

# 在給出 File 物件的情況下建構一個 FileWriter 物件。

FileWriter(File file, boolean append);

以上是Java流和檔案的基礎知識點有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除