欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java流的分類和用法

李中冰1年前7瀏覽0評論

Java流是 Java 平臺的一個重要概念,其主要作用是實現輸入輸出操作。Java 流可以基于各種數據源(網絡、文件、管道等)以及各種數據類型(字符、字節、對象等)進行操作,可以大大提高 Java 程序的靈活性和可擴展性。Java 流的主要分類如下:

字節流

Java 的字節流主要用于操作二進制數據,可以讀、寫 byte 類型數據。其中 InputStream 和 OutputStream 是字節流操作的基礎類,而 FileInputStream 和 FileOutputStream 可以針對文件進行字節流操作。

try (FileInputStream fis = new FileInputStream("example.txt")) {
int content;
while ((content = fis.read()) != -1) {
System.out.print((char) content);
}
} catch (IOException e) {
e.printStackTrace();
}

字符流

Java 的字符流主要用于操作文本數據,可以讀、寫字符數據。其中 Reader 和 Writer 是字符流操作的基礎類,而 FileReader 和 FileWriter 可以針對文件進行字符流操作。

try (FileReader fr = new FileReader("example.txt")){
int content;
while ((content = fr.read()) != -1) {
System.out.print((char) content);
}
} catch (IOException e) {
e.printStackTrace();
}

緩存流

緩存流主要用于提高 I/O 操作的性能,基于緩存方式可以減少 I/O 操作的次數。 BufferedInputStream 和 BufferedOutputStream 是字節流緩存操作的類,而 BufferedReader 和 BufferedWriter 是字符流緩存操作的類。

try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}

對象流

對象流主要用于進行對象的讀寫操作,支持將對象序列化為字節流進行存儲和傳輸。 ObjectInputStream 和 ObjectOutputStream 是對象流操作的類。

try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("example.obj"))) {
Student student = new Student("Tom", 20);
oos.writeObject(student);
} catch (IOException e) {
e.printStackTrace();
}
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("example.obj"))) {
Student student = (Student) ois.readObject();
System.out.println(student.getName() + ", " + student.getAge());
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}

Java 流是 Java 編程中必不可少的一部分,通過靈活地使用不同類型的流,可以實現各種復雜的輸入輸出操作。