色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java底層流和高層流

劉姿婷1年前7瀏覽0評論

在Java中,流(stream)是一種用于處理輸入輸出(IO)操作的機制。 Java中的流被劃分為兩種:底層流和高層流。它們的區(qū)別在于,底層流表示一個字節(jié)流,并且直接與底層操作系統(tǒng)打交道,而高層流是指字節(jié)流的包裝器,提供了數(shù)據(jù)的高級處理和便捷的API。

底層流包括FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream和BufferedOutputStream。底層流可以直接讀寫二進制文件,使用的是字節(jié)流,數(shù)據(jù)是以字節(jié)數(shù)組的形式讀入或寫出到文件中。底層流的缺點是它需要大量的代碼來處理數(shù)據(jù)格式,而且不夠靈活。

高層流包括Reader、Writer、BufferedReader、BufferedWriter、PrintWriter和Scanner等。高層流是底層流的包裝器,負責將字節(jié)轉換為字符,并包含了許多API來處理文本文件。高層流具有很多優(yōu)點,比如可以處理文本格式的數(shù)據(jù),支持自動解析、轉換和格式化數(shù)據(jù),使數(shù)據(jù)處理更加靈活和高級。

// 以下是底層流的示例代碼
import java.io.*;
public class Example1 {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
DataInputStream dis = new DataInputStream(fis);
DataOutputStream dos = new DataOutputStream(fos);
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024];
// 使用底層流讀寫二進制文件
while (dis.read(buffer) != -1) {
dos.write(buffer);
bos.write(buffer);
}
// 關閉流
dis.close();
fis.close();
dos.close();
fos.close();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 以下是高層流的示例代碼
import java.io.*;
public class Example2 {
public static void main(String[] args) {
try {
FileReader fr = new FileReader("input.txt");
FileWriter fw = new FileWriter("output.txt");
BufferedReader br = new BufferedReader(fr);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(fw);
Scanner scanner = new Scanner(fr);
// 使用高層流讀寫文本文件
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
pw.println(line);
}
// 關閉流
br.close();
fr.close();
bw.close();
fw.close();
pw.close();
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}