From 08a34be4b6eb1143853874e391a287100c99e5c9 Mon Sep 17 00:00:00 2001
From: danny <12793148@qq.com>
Date: Mon, 27 Mar 2023 10:22:00 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=96=87=E4=BB=B6IO=E7=9A=84?=
=?UTF-8?q?=E5=86=85=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
05:IO编程/02.md | 235 ++++++++++++++-
05:IO编程/img/BufferedSteam.drawio.svg | 279 ++++++++++++++++++
05:IO编程/img/DataStream.drawio.svg | 210 +++++++++++++
05:IO编程/img/image-20230326210655128.png | Bin 0 -> 51249 bytes
05:IO编程/img/image-20230326222237336.png | Bin 0 -> 141119 bytes
05:IO编程/img/image-20230326222303342.png | Bin 0 -> 157116 bytes
05:IO编程/img/image-20230327094343661.png | Bin 0 -> 248806 bytes
05:IO编程/img/steam.drawio.svg | 279 ++++++++++++++++++
8 files changed, 996 insertions(+), 7 deletions(-)
create mode 100644 05:IO编程/img/BufferedSteam.drawio.svg
create mode 100644 05:IO编程/img/DataStream.drawio.svg
create mode 100644 05:IO编程/img/image-20230326210655128.png
create mode 100644 05:IO编程/img/image-20230326222237336.png
create mode 100644 05:IO编程/img/image-20230326222303342.png
create mode 100644 05:IO编程/img/image-20230327094343661.png
create mode 100644 05:IO编程/img/steam.drawio.svg
diff --git a/05:IO编程/02.md b/05:IO编程/02.md
index 14be7dd..bf1e9ac 100644
--- a/05:IO编程/02.md
+++ b/05:IO编程/02.md
@@ -1,8 +1,8 @@
> Data stored in a text file is represented in human-readable form. Data stored in a binary file is represented in binary form. You cannot read binary files. They are designed to be read by programs. For example, Java source programs are stored in text files and can be read by a text editor, but Java classes are stored in binary files and are read by the JVM. The advantage of binary files is that they are more efficient to process than text files.
-## Java的I/O抽象
+## 1. Java的I/O抽象
-### 网络通讯对象的抽象
+### 1.1. 网络通讯对象的抽象
我们考虑一个问题,如果要实现两个程序之间的通讯应该如何使用面向对象的思维来设计?首先我们需要把通讯进行抽象化,如果使用一个对象来进行通讯,应该如何操作?

@@ -64,7 +64,7 @@ classDiagram
从上个例子中我们看到了如何从面向对象的思维来解决实际的问题。在即将学到的网络课程当中会发现网络的构建真的也有面向对象的思想。
-### 文件的抽象
+### 1.2. 文件的抽象
好了,现在我们来看看主题:文件系统。文件中存放的最小单元也是字节(byte),因此可以沿用上面网络的例子。只不过,这是一个真实的
@@ -78,7 +78,7 @@ classDiagram
**注意:InputStream(读);OutputStream(写)这两个类不是只针对文件系统,凡是可以进行字节读写的类都可以由这两个类进行扩展(例如网络中的通讯)。从这里可以看到,Java不仅仅是面向对象的语言,由于Java提供了一套基本的API(类),使得java也是一套编码规范或者是框架。多数情况下,需要满足Java中基本类型和接口的继承,才能使程序更具有通用性。**
-#### InputStream
+#### 1.2.1. InputStream

@@ -88,13 +88,15 @@ classDiagram
**提高:为什么只是read()函数是抽象函数,其几个重载的read函数并不是抽象函数?可以通过分析源码来理解。**
-#### OutputStream
+#### 1.2.2. OutputStream

同样,write函数的参数类型虽然是int,实际是写入一个字节。
-### FileInputStream/FileOutputStream
+## 2. 文件流的操作
+
+### 2.1. FileInputStream/FileOutputStream

@@ -137,7 +139,226 @@ public class TestFileStream {
**注意:这两个类的构造函数是重载的,有一个版本可以接受一个File对象作为需要打开的文件。其实在Java中,大多预定义类都可以接受字符串或者是File对象,具体情况需要查看源码实现。**
-### DataInputStream/DataOutputStream
+### 2.2. DataInputStream/DataOutputStream
+
+在学习`DataInputStream` 和 `DataOutputStream` 前,我们先来看看其直接超类:`FilterInputStream` 和 `FilterOutputStream`
+
+
+
+> Filter streams are streams that filter bytes for some purpose. The basic byte input stream provides a read method that can only be used for reading bytes. If you want to read integers, doubles, or strings, you need a filter class to wrap the byte input stream. Using a filter class enables you to read integers, doubles, and strings instead of bytes and characters. FilterInputStream and FilterOutputStream are the base classes for filtering data. When you need to process primitive numeric types, use DataInputStream and DataOutputStream to filter bytes.
+>
+> 这个类很奇怪,书上说如果需要做不同数据类型的读写,需要该类型。其实情况要复杂得多,有兴趣可以研究其源代码。奇怪的是,这个类型是非抽象类型,但是却不能使用 new 方法创建(看源码可以分析出来)。
+
+关于这个类其实要讲的话会很多,现在大家知道是 InputStream 和 OutputStream 的超类就可以了。
+
+再来看看InputStream 和 OutputStream,这两个类是可以实例化的,并可以读写文件的各种基本类型(原始类型)。

+这个类的基本接口如下图:
+
+
+
+
+
+现在看看例子:
+
+```java
+import java.io.*;
+
+public class TestDataStream {
+ public static void main(String[] args) throws IOException {
+ try ( // Create an output stream for file temp.dat
+ DataOutputStream output = new DataOutputStream(new FileOutputStream("/home/danny/temp.dat"));) {
+ // Write student test scores to the file
+ output.writeUTF("John");
+ output.writeDouble(85.5);
+ output.writeUTF("Jim");
+ output.writeDouble(185.5);
+ output.writeUTF("George");
+ output.writeDouble(105.25);
+ }
+
+ try ( // Create an input stream for file temp.dat
+ DataInputStream input = new DataInputStream(new FileInputStream("/home/danny/temp.dat"));) {
+ // Read student test scores from the file
+ System.out.println(input.readUTF() + " " + input.readDouble());
+ System.out.println(input.readUTF() + " " + input.readDouble());
+ System.out.println(input.readUTF() + " " + input.readDouble());
+ }
+ }
+}
+```
+
+如果要讨论 DataInputStream 和 DataOutputStream 内部实现可能超出了目前的内容。简单来说,无论是 DataInputStream 还是 DataOutputStream ,其构造函数都传递了一个 FileInputStream 或者 FileOutputStream 对象。研究其源码,发现,构造 DataInputStream 需要传入的是 InputStream 类型, FileInputStream 是 InputStream 的子类,这样做没有什么问题; FileInputStream 提供了读取文件字节的基本能力;DataInputStream 只需要借用 FileInputStream 的基本能力就可以完成对原始数据的基本读写了。
+
+如果为 DataInputStream 的构造函数传递一个网络对象,且这个对象所在的类实现了 InputStream 中的抽象方法,那么 DataInputStream 也可以实现对网络数据的读取;相对的,DataOutputStream 对应的应该是 OutputStream 的实现类。
+
+这样以来 DataInputStream 和 DataOutputStream 和具体如何读写文件就无关了,因为是FileInputStream 和 FileOutputStream 完成具体的文件读写工作。
+
+
+
+上图中说明了,其实DataInputStream 和 DataOutputStrem 其实和具体读写什么是无关的,要看构造的时候传进去什么对象。这样是不是就和本章开始讲的网络传输的例子联系起来了。只不过,这里更进一步,有分层实现的概念(这点在网络ISO模型中也有体现)。从另外一个角度来说,上层是服务使用者,下层是服务提供者,是不是和我们日常的组织与管理非常类似?因此面向对象是我们熟知的一种方法,Java只不过是其应用而已。
+
+**注意:这个例子中的写入顺序和读取顺序必须完全一致,否则读取的数据会不正确。想一想为什么?**
+
+### 2.3. 文件复制
+
+文件复制这个例子中使用到了`BufferedInputStream`和`BufferedOutputStream`。者两个类的基本能力是读写字节,只不过内部使用缓冲的机制来降低CPU占用,提升IO操作速度。
+
+关于缓冲机制用一个浇花的例子来解释:
+
+1. 水管放水:输入操作,水是输入的数据;
+2. 人,如果CPU,使用水(数据)进行函数处理(浇花)这个动作;
+3. 水的最小单位是一杯,对应一个字节。
+
+因为假如CPU(人的处理速度很快),数据(水管)的流速相对于人的处理来说很慢;或者说是相反水管(数据)的流速很快,人(CPU)的处理速度较慢。那么这个任务中防水速度和人的操作速度不匹配就会造成很多问题:要么累死人,要么水撒了一地(数据丢失)。
+
+例如,无缓冲的情况:人很快,水流较慢;人每次接一杯水去浇花(一个字节)。这样人会累死,效率也非常低。
+
+有缓冲的情况:用一个桶装水,桶满了后,人可以一次性的去浇花;然后再等桶接满水。在桶接水的这段时间,人可以休息,或者做其他的事情。这里的桶就是缓冲。
+
+缓冲机制在计算机中大量使用,因为各种任务耗时不同,或者是I/O设备间的速度差异。因此使用缓冲机制可以提升效率,降低CPU的占用,使得CPU有时间去处理其他任务。
+
+
+
+
+
+
+
+```java
+import java.io.*;
+
+public class Copy {
+
+ /**
+ *
+ * @param args
+ * @throws IOException
+ */
+ public static void main(String[] args) throws IOException {
+ // Check command-line parameter usage
+ if (args.length != 2) {
+ System.out.println("Usage: java Copy sourceFile targetfile");
+ System.exit(1);
+ }
+
+ // Check if source file exists
+ File sourceFile = new File(args[0]);
+ if (!sourceFile.exists()) {
+ System.out.println("Source file " + args[0] + " does not exist");
+ System.exit(2);
+ }
+
+ // Check if target file exists
+ File targetFile = new File(args[1]);
+ if (targetFile.exists()) {
+ System.out.println("Target file " + args[1] + " already exists");
+ System.exit(3);
+ }
+
+ try (
+ // Create an input stream
+ BufferedInputStream input = new BufferedInputStream(new FileInputStream(sourceFile));
+
+ // Create an output stream
+ BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(targetFile));) {
+ // Continuously read a byte from input and write it to output
+ int r, numberOfBytesCopied = 0;
+ while ((r = input.read()) != -1) {
+ output.write((byte) r);
+ numberOfBytesCopied++;
+ }
+
+ // Display the file size
+ System.out.println(numberOfBytesCopied + " bytes copied");
+ }
+ }
+}
+```
+
+代码中使用了命令行参数,因此需要在命令行下使用,请参考数组那一章。
+
+1. 编译程序:`javac Copy.java`
+2. 运行程序:`java Copy 源文件 目的文件`
+
+和DataInputSteam和DataOutputStream一样,BufferedInputStream 使用了 FileInputStream 完成文件读写的能力;FileOutputStream 使用 FileOutputStream 完成文件写的能力。剩下的就是 BufferedInputStream 读取一个字节在使用 BufferedOutputStream x写到一个文件中。
+
+**注意:这个例子没有使用的是字节的读取和写入,效率比较低,没有充分使用缓冲的能力(使用杯子接水)。其实可以读取和写入字节数组(水桶)来优化效率。缓冲不宜过大,也不宜过小,根据具体的情况来确定。**
+
+### 2.4. 随机文件访问
+
+上面所有例子都是顺序访问,下面来看看Java的随机访问。随机访问可以把文件看成是一个数组,从数组的角度来理解从数组的任意位置读写数据就可以了。与数组不同的是,文件的长度是可以增加的。接下来先看看RadomAccessFile这个类:
+
+
+
+RadomAccessFile 实现了DataInput 和 DataOutput的接口,意味着它可以实现原始数据类型的读写。同样,构造 RadomAccessFile 的时候,需要传入一个字符串作为打开的文件位置,或者是一个文件对象。另外还需要一个字符串确定文件的打开方式。
+
+1. 'r' 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。
+2. "rw" 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。
+3. "rws" 打开以便读取和写入,对于 "rw",还要求对文件的内容或元数据的每个更新都同步写入到底层存储设备。
+4. "rwd" 打开以便读取和写入,对于 "rw",还要求对文件内容的每个更新都同步写入到底层存储设备。
+
+目前不用具体关心打开文件的具体含义,只需要知道rw方式是读写方式就可以了。
+
+```java
+import java.io.*;
+
+public class TestRandomAccessFile {
+ public static void main(String[] args) throws IOException {
+ try ( // Create a random access file
+ RandomAccessFile inout = new RandomAccessFile("/home/danny/inout.dat", "rw");) {
+ // Clear the file to destroy the old contents if exists
+ inout.setLength(0); // 设置文件长度为0 ,如果以前有文件,表示删除文件的所有内容。
+
+ // Write new integers to the file
+ for (int i = 0; i < 200; i++) // 初始文件指针是0
+ inout.writeInt(i); // 写入200个int,一个int占用4个字节;执行完成后文件指针是800
+
+ // Display the current length of the file
+ System.out.println("Current file length is " + inout.length()); // 文件大小是800个字节
+
+ // Retrieve the first number
+ inout.seek(0); // Move the file pointer to the beginning // 文件指针移动到0,最开始的位置
+ System.out.println("The first number is " + inout.readInt()); // 读取一个int,上述循环写入的值是0
+
+ // Retrieve the second number
+ inout.seek(1 * 4); // Move the file pointer to the second number 移动到4,刚刚是下一个整形开始的位置,读出1
+ System.out.println("The second number is " + inout.readInt());
+
+ // Retrieve the tenth number
+ inout.seek(9 * 4); // Move the file pointer to the tenth number 移动到第十个整形的位置,读出9
+ System.out.println("The tenth number is " + inout.readInt());
+
+ // Modify the eleventh number 上一句执行完成后,指针在10*4=40的位置,刚好是第11个整形开始的地方
+ inout.writeInt(555); // 改写第11个整形为555
+
+ // Append a new number
+ inout.seek(inout.length()); // Move the file pointer to the end 移动指针到文件末尾,800位置
+ inout.writeInt(999); // 写入一个整形后,指针是804
+
+ // Display the new length
+ System.out.println("The new length is " + inout.length()); // 打印长度是 804
+
+ // Retrieve the new eleventh number
+ inout.seek(10 * 4); // Move the file pointer to the eleventh number 移动到第11个整形的位置,读取刚刚写入的555
+ System.out.println("The eleventh number is " + inout.readInt());
+ }
+ }
+}
+```
+
+随机读写最重要的就是文件指针,可以理解成数组的位置,所有的读写操作都从这个位置开始。
+
+1. 读取相应个数字节,文件指针向后一定相应字节;
+2. 写入相应个数字节,文件指针向后一定相应字节。
+
+seek用于将文件指针移动到绝对位置。文件指针指向的是当前准备读或者是准备写的位置。
+
+## 3. 本章重点
+
+1. 理解ImputStream和OutStrem以及子类间的关系;
+2. 掌握FileInputStream和FileOutputStream的基本使用;
+3. 理解随即文件访问对象RandomAccessFile的使用;
+4. 其他部分是了解。
+
diff --git a/05:IO编程/img/BufferedSteam.drawio.svg b/05:IO编程/img/BufferedSteam.drawio.svg
new file mode 100644
index 0000000..d0aafb0
--- /dev/null
+++ b/05:IO编程/img/BufferedSteam.drawio.svg
@@ -0,0 +1,279 @@
+
\ No newline at end of file
diff --git a/05:IO编程/img/DataStream.drawio.svg b/05:IO编程/img/DataStream.drawio.svg
new file mode 100644
index 0000000..781dfd5
--- /dev/null
+++ b/05:IO编程/img/DataStream.drawio.svg
@@ -0,0 +1,210 @@
+
\ No newline at end of file
diff --git a/05:IO编程/img/image-20230326210655128.png b/05:IO编程/img/image-20230326210655128.png
new file mode 100644
index 0000000000000000000000000000000000000000..35b4592ea479eb03db2db4128b94050e1771bdcf
GIT binary patch
literal 51249
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