From d1faf1f6e617b8c7e6f504ec7d6bd92ca38dec30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=89=E9=BB=98=E7=8E=8B=E4=BA=8C?= Date: Thu, 25 Aug 2022 15:35:10 +0800 Subject: [PATCH] Java IO --- README.md | 6 +- docs/.vuepress/sidebar.ts | 5 + docs/home.md | 13 +- docs/io/BIONIOAIO.md | 22 +- docs/io/Serializbale.md | 536 ++++ docs/io/buffer.md | 2 +- docs/io/char-byte.md | 213 ++ docs/io/file-path.md | 4 +- docs/io/print.md | 95 + docs/io/serialize.md | 233 ++ docs/io/transient.md | 314 +++ .../cnblog/shiszszqzxxdioljcmyzy.md | 2307 ----------------- ...e-7a9a05f6-a65c-46b0-b4d7-8b619297f351.jpg | Bin 0 -> 26985 bytes ...r-fcae80c2-04a5-4a1b-ab49-89a5ddabd38e.png | Bin 0 -> 57652 bytes ...e-61d3a7e6-365e-41d3-8c4a-bc9e680c70a6.png | Bin 0 -> 260604 bytes ...e-86699b2c-4f24-492a-ba68-62c3be0f86bc.png | Bin 0 -> 161650 bytes ...e-eafc0ac8-ce5b-4183-9a7e-9498e23b2d4e.png | Bin 0 -> 161901 bytes ...h-0f1675a7-ee3b-4f28-9cca-00c4ba5a5759.png | Bin 0 -> 366362 bytes ...h-37de6cfc-f82f-4459-bc7e-9b4bd7466d70.png | Bin 0 -> 53804 bytes ...e-8a1b6818-5f58-4057-b521-f8ba670d72a1.png | Bin 0 -> 163812 bytes 20 files changed, 1432 insertions(+), 2318 deletions(-) create mode 100644 docs/io/Serializbale.md create mode 100644 docs/io/char-byte.md create mode 100644 docs/io/print.md create mode 100644 docs/io/serialize.md create mode 100644 docs/io/transient.md delete mode 100644 docs/nice-article/cnblog/shiszszqzxxdioljcmyzy.md create mode 100644 images/io/Serializbale-7a9a05f6-a65c-46b0-b4d7-8b619297f351.jpg create mode 100644 images/io/buffer-fcae80c2-04a5-4a1b-ab49-89a5ddabd38e.png create mode 100644 images/io/char-byte-61d3a7e6-365e-41d3-8c4a-bc9e680c70a6.png create mode 100644 images/io/char-byte-86699b2c-4f24-492a-ba68-62c3be0f86bc.png create mode 100644 images/io/char-byte-eafc0ac8-ce5b-4183-9a7e-9498e23b2d4e.png create mode 100644 images/io/file-path-0f1675a7-ee3b-4f28-9cca-00c4ba5a5759.png create mode 100644 images/io/file-path-37de6cfc-f82f-4459-bc7e-9b4bd7466d70.png create mode 100644 images/io/serialize-8a1b6818-5f58-4057-b521-f8ba670d72a1.png diff --git a/README.md b/README.md index aa7b1847e..615e7ae9f 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,11 @@ - [文件的世界,一切皆字节流(Stream)](docs/io/stream.md) - [Java字符流Reader和Writer的故事](docs/io/reader-writer.md) - [Java缓冲流(Buffered):读写速度有了质的飞升](docs/io/buffer.md) +- [Java转换流,解决字符与字节之间编码、解码的乱码问题](docs/io/char-byte.md) +- [Java序列化流,字节和对象之间的序列化和反序列化](docs/io/serialize.md) +- [Java Serializable:明明就一个空的接口嘛](docs/io/Serializbale.md) +- [招银面试官:说说Java transient关键字](docs/io/transient.md) +- [Java打印流:PrintStream & PrintWriter](docs/io/print.md) - [如何给女朋友解释什么是 BIO、NIO 和 AIO?](docs/io/BIONIOAIO.md) @@ -191,7 +196,6 @@ - [彻底讲明白的Java浅拷贝与深拷贝](docs/basic-extra-meal/deep-copy.md) - [深入理解Java中的hashCode方法](docs/basic-extra-meal/hashcode.md) - [一次性搞清楚equals和hashCode](docs/basic-extra-meal/equals-hashcode.md) -- [Java重写(Override)与重载(Overload)](docs/basic-extra-meal/override-overload.md) - [Java重写(Overriding)时应当遵守的11条规则](docs/basic-extra-meal/Overriding.md) - [Java到底是值传递还是引用传递?](docs/basic-extra-meal/pass-by-value.md) - [Java不能实现真正泛型的原因是什么?](docs/basic-extra-meal/true-generic.md) diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index b9eadb96d..d6934c8cc 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -153,6 +153,11 @@ export const sidebarConfig = sidebar({ "stream", "reader-writer", "buffer", + "char-byte", + "serialize", + "Serializbale", + "transient", + "print", "BIONIOAIO", ], }, diff --git a/docs/home.md b/docs/home.md index 581943156..4fb42c10d 100644 --- a/docs/home.md +++ b/docs/home.md @@ -170,7 +170,16 @@ head: ### Java输入输出 -- [Java IO学习整理](io/shangtou.md) +- [看完这篇,Java IO 不再混乱!](io/shangtou.md) +- [详解 File、Path、Paths、Files 四个类,Java操作文件不再难](io/file-path.md) +- [文件的世界,一切皆字节流(Stream)](io/stream.md) +- [Java字符流Reader和Writer的故事](io/reader-writer.md) +- [Java缓冲流(Buffered):读写速度有了质的飞升](io/buffer.md) +- [Java转换流,解决字符与字节之间编码、解码的乱码问题](io/char-byte.md) +- [Java序列化流,字节和对象之间的序列化和反序列化](io/serialize.md) +- [Java Serializable:明明就一个空的接口嘛](io/Serializbale.md) +- [招银面试官:说说Java transient关键字](io/transient.md) +- [Java打印流:PrintStream & PrintWriter](io/print.md) - [如何给女朋友解释什么是 BIO、NIO 和 AIO?](io/BIONIOAIO.md) @@ -449,7 +458,7 @@ head: - [大裁员下,程序员如何做“副业”?](xuexijianyi/chengxuyuan-fuye.md) - [如何在繁重的工作中持续成长?](xuexijianyi/ruhzfzdgzzcxcz.md) - [如何获得高并发的经验?](xuexijianyi/gaobingfa-jingyan-hsmcomputer.md) -- [怎么跟 HR 谈薪资?](docs/xuexijianyi/hr-xinzi.md) +- [怎么跟 HR 谈薪资?](xuexijianyi/hr-xinzi.md) ## 知识库搭建 diff --git a/docs/io/BIONIOAIO.md b/docs/io/BIONIOAIO.md index da6a8fc9f..ae9354d53 100644 --- a/docs/io/BIONIOAIO.md +++ b/docs/io/BIONIOAIO.md @@ -1,12 +1,17 @@ --- +title: 如何给女朋友解释清楚BIO、NIO和AIO? +shortTitle: BIO、NIO和AIO之间的区别 category: - Java核心 tag: - - Java + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,BIO、NIO和AIO之间的区别 +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java IO,java BIO,java NIO,java AIO --- -# 如何给女朋友解释清楚BIO、NIO和AIO? - 周末午后,在家里面进行电话面试,我问了面试者几个关于 IO 的问题,其中包括什么是 BIO、NIO 和 AIO?三者有什么区别?具体如何使用等问题,但是面试者回答的并不是很满意。于是我在面试评价中写道:"对 Java 的 IO 提醒理解不够深入"。恰好被女朋友看到了。 @@ -292,6 +297,13 @@ public class WriteToFile { ->转载链接:[https://mp.weixin.qq.com/s/QQxrr5yP8X9YdFqIwXDoQQ](https://mp.weixin.qq.com/s/QQxrr5yP8X9YdFqIwXDoQQ) +>参考链接:[https://mp.weixin.qq.com/s/QQxrr5yP8X9YdFqIwXDoQQ](https://mp.weixin.qq.com/s/QQxrr5yP8X9YdFqIwXDoQQ) + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + - +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) diff --git a/docs/io/Serializbale.md b/docs/io/Serializbale.md new file mode 100644 index 000000000..4204422d9 --- /dev/null +++ b/docs/io/Serializbale.md @@ -0,0 +1,536 @@ +--- +title: Java Serializable:明明就一个空的接口嘛 +shortTitle: Serializable 接口 +category: + - Java核心 +tag: + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,Java序列化流,字节和对象之间的序列化和反序列化 +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java Serializable +--- + + +对于 Java 的序列化,我一直停留在最浅显的认知上——把那个要序列化的类实现 `Serializbale` 接口就可以了。我不愿意做更深入的研究,因为会用就行了嘛。 + + +但随着时间的推移,见到 `Serializbale` 的次数越来越多,我便对它产生了浓厚的兴趣。是时候花点时间研究研究了。 + +## 01、先来点理论 + + + +Java 序列化是 JDK 1.1 时引入的一组开创性的特性,用于将 Java 对象转换为字节数组,便于存储或传输。此后,仍然可以将字节数组转换回 Java 对象原有的状态。 + +序列化的思想是“冻结”对象状态,然后写到磁盘或者在网络中传输;反序列化的思想是“解冻”对象状态,重新获得可用的 Java 对象。 + +再来看看序列化 `Serializbale` 接口的定义: + +```java +public interface Serializable { +} +``` + +明明就一个空的接口嘛,竟然能够保证实现了它的“类的对象”被序列化和反序列化? + +## 02、再来点实战 + +在回答上述问题之前,我们先来创建一个类(只有两个字段,和对应的 `getter/setter`),用于序列化和反序列化。 + +```java +class Wanger { + private String name; + private int age; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } +} +``` + +再来创建一个测试类,通过 `ObjectOutputStream` 将“18 岁的王二”写入到文件当中,实际上就是一种序列化的过程;再通过 `ObjectInputStream` 将“18 岁的王二”从文件中读出来,实际上就是一种反序列化的过程。 + +```java +public class Test { + + public static void main(String[] args) { + // 初始化 + Wanger wanger = new Wanger(); + wanger.setName("王二"); + wanger.setAge(18); + System.out.println(wanger); + + // 把对象写到文件中 + try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("chenmo"));){ + oos.writeObject(wanger); + } catch (IOException e) { + e.printStackTrace(); + } + + // 从文件中读出对象 + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("chenmo")));){ + Wanger wanger1 = (Wanger) ois.readObject(); + System.out.println(wanger1); + } catch (IOException | ClassNotFoundException e) { + e.printStackTrace(); + } + } + +} +``` + +不过,由于 `Wanger` 没有实现 `Serializbale` 接口,所以在运行测试类的时候会抛出异常,堆栈信息如下: + +``` +java.io.NotSerializableException: com.cmower.java_demo.xuliehua.Wanger + at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) + at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) + at com.cmower.java_demo.xuliehua.Test.main(Test.java:21) +``` + +顺着堆栈信息,我们来看一下 `ObjectOutputStream` 的 `writeObject0()` 方法。其部分源码如下: + +``` +if (obj instanceof String) { + writeString((String) obj, unshared); +} else if (cl.isArray()) { + writeArray(obj, desc, unshared); +} else if (obj instanceof Enum) { + writeEnum((Enum) obj, desc, unshared); +} else if (obj instanceof Serializable) { + writeOrdinaryObject(obj, desc, unshared); +} else { + if (extendedDebugInfo) { + throw new NotSerializableException( + cl.getName() + "\n" + debugInfoStack.toString()); + } else { + throw new NotSerializableException(cl.getName()); + } +} +``` + +也就是说,`ObjectOutputStream` 在序列化的时候,会判断被序列化的对象是哪一种类型,字符串?数组?枚举?还是 `Serializable`,如果全都不是的话,抛出 `NotSerializableException`。 + +假如 `Wanger` 实现了 `Serializable` 接口,就可以序列化和反序列化了。 + +```java +class Wanger implements Serializable{ + private static final long serialVersionUID = -2095916884810199532L; + + private String name; + private int age; +} +``` + +具体怎么序列化呢? + +以 `ObjectOutputStream` 为例吧,它在序列化的时候会依次调用 `writeObject()`→`writeObject0()`→`writeOrdinaryObject()`→`writeSerialData()`→`invokeWriteObject()`→`defaultWriteFields()`。 + +```java +private void defaultWriteFields(Object obj, ObjectStreamClass desc) + throws IOException + { + Class cl = desc.forClass(); + desc.checkDefaultSerialize(); + + int primDataSize = desc.getPrimDataSize(); + desc.getPrimFieldValues(obj, primVals); + bout.write(primVals, 0, primDataSize, false); + + ObjectStreamField[] fields = desc.getFields(false); + Object[] objVals = new Object[desc.getNumObjFields()]; + int numPrimFields = fields.length - objVals.length; + desc.getObjFieldValues(obj, objVals); + for (int i = 0; i < objVals.length; i++) { + + try { + writeObject0(objVals[i], + fields[numPrimFields + i].isUnshared()); + } + } + } +``` + +那怎么反序列化呢? + +以 `ObjectInputStream` 为例,它在反序列化的时候会依次调用 `readObject()`→`readObject0()`→`readOrdinaryObject()`→`readSerialData()`→`defaultReadFields()`。 + +```java +private void defaultWriteFields(Object obj, ObjectStreamClass desc) + throws IOException + { + Class cl = desc.forClass(); + desc.checkDefaultSerialize(); + + int primDataSize = desc.getPrimDataSize(); + desc.getPrimFieldValues(obj, primVals); + bout.write(primVals, 0, primDataSize, false); + + ObjectStreamField[] fields = desc.getFields(false); + Object[] objVals = new Object[desc.getNumObjFields()]; + int numPrimFields = fields.length - objVals.length; + desc.getObjFieldValues(obj, objVals); + for (int i = 0; i < objVals.length; i++) { + + try { + writeObject0(objVals[i], + fields[numPrimFields + i].isUnshared()); + } + } + } +``` + +我想看到这,你应该会恍然大悟的“哦”一声了。`Serializable` 接口之所以定义为空,是因为它只起到了一个标识的作用,告诉程序实现了它的对象是可以被序列化的,但真正序列化和反序列化的操作并不需要它来完成。 + +## 03、再来点注意事项 + +开门见山的说吧,`static` 和 `transient` 修饰的字段是不会被序列化的。 + +为什么呢?我们先来证明,再来解释原因。 + +首先,在 `Wanger` 类中增加两个字段。 + +```java +class Wanger implements Serializable { + private static final long serialVersionUID = -2095916884810199532L; + + private String name; + private int age; + + public static String pre = "沉默"; + transient String meizi = "王三"; + + @Override + public String toString() { + return "Wanger{" + "name=" + name + ",age=" + age + ",pre=" + pre + ",meizi=" + meizi + "}"; + } +} +``` + +其次,在测试类中打印序列化前和反序列化后的对象,并在序列化后和反序列化前改变 `static` 字段的值。具体代码如下: + +```java +// 初始化 +Wanger wanger = new Wanger(); +wanger.setName("王二"); +wanger.setAge(18); +System.out.println(wanger); + +// 把对象写到文件中 +try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("chenmo"));){ + oos.writeObject(wanger); + } catch (IOException e) { + e.printStackTrace(); + } + + // 改变 static 字段的值 +Wanger.pre ="不沉默"; + +// 从文件中读出对象 +try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("chenmo")));){ + Wanger wanger1 = (Wanger) ois.readObject(); + System.out.println(wanger1); +} catch (IOException | ClassNotFoundException e) { + e.printStackTrace(); +} +// Wanger{name=王二,age=18,pre=沉默,meizi=王三} +// Wanger{name=王二,age=18,pre=不沉默,meizi=null} + +``` + +从结果的对比当中,我们可以发现: + +1)序列化前,`pre` 的值为“沉默”,序列化后,`pre` 的值修改为“不沉默”,反序列化后,`pre` 的值为“不沉默”,而不是序列化前的状态“沉默”。 + +为什么呢?因为序列化保存的是对象的状态,而 `static` 修饰的字段属于类的状态,因此可以证明序列化并不保存 `static` 修饰的字段。 + +2)序列化前,`meizi` 的值为“王三”,反序列化后,`meizi` 的值为 `null`,而不是序列化前的状态“王三”。 + +为什么呢?`transient` 的中文字义为“临时的”(论英语的重要性),它可以阻止字段被序列化到文件中,在被反序列化后,`transient` 字段的值被设为初始值,比如 `int` 型的初始值为 0,对象型的初始值为 `null`。 + +如果想要深究源码的话,你可以在 `ObjectStreamClass` 中发现下面这样的代码: + +```java +private static ObjectStreamField[] getDefaultSerialFields(Class cl) { + Field[] clFields = cl.getDeclaredFields(); + ArrayList list = new ArrayList<>(); + int mask = Modifier.STATIC | Modifier.TRANSIENT; + + int size = list.size(); + return (size == 0) ? NO_FIELDS : + list.toArray(new ObjectStreamField[size]); +} +``` + +看到 `Modifier.STATIC | Modifier.TRANSIENT`,是不是感觉更好了呢? + +## 04、再来点干货 + +除了 `Serializable` 之外,Java 还提供了一个序列化接口 `Externalizable`(念起来有点拗口)。 + +两个接口有什么不一样的吗?试一试就知道了。 + +首先,把 `Wanger` 类实现的接口 `Serializable` 替换为 `Externalizable`。 + +```java +class Wanger implements Externalizable { + private String name; + private int age; + + public Wanger() { + + } + + public String getName() { + return name; + } + + + @Override + public String toString() { + return "Wanger{" + "name=" + name + ",age=" + age + "}"; + } + + @Override + public void writeExternal(ObjectOutput out) throws IOException { + + } + + @Override + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { + + } + +} +``` + +实现 `Externalizable` 接口的 `Wanger` 类和实现 `Serializable` 接口的 `Wanger` 类有一些不同: + +1)新增了一个无参的构造方法。 + +使用 `Externalizable` 进行反序列化的时候,会调用被序列化类的无参构造方法去创建一个新的对象,然后再将被保存对象的字段值复制过去。否则的话,会抛出以下异常: + +``` +java.io.InvalidClassException: com.cmower.java_demo.xuliehua1.Wanger; no valid constructor + at java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException(ObjectStreamClass.java:150) + at java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:790) + at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1782) + at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) + at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) + at com.cmower.java_demo.xuliehua1.Test.main(Test.java:27) +``` + +2)新增了两个方法 `writeExternal()` 和 `readExternal()`,实现 `Externalizable` 接口所必须的。 + + +然后,我们再在测试类中打印序列化前和反序列化后的对象。 + +```java +// 初始化 +Wanger wanger = new Wanger(); +wanger.setName("王二"); +wanger.setAge(18); +System.out.println(wanger); + +// 把对象写到文件中 +try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("chenmo"));) { + oos.writeObject(wanger); +} catch (IOException e) { + e.printStackTrace(); +} + +// 从文件中读出对象 +try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("chenmo")));) { + Wanger wanger1 = (Wanger) ois.readObject(); + System.out.println(wanger1); +} catch (IOException | ClassNotFoundException e) { + e.printStackTrace(); +} +// Wanger{name=王二,age=18} +// Wanger{name=null,age=0} +``` + +从输出的结果看,反序列化后得到的对象字段都变成了默认值,也就是说,序列化之前的对象状态没有被“冻结”下来。 + +为什么呢?因为我们没有为 `Wanger` 类重写具体的 `writeExternal()` 和 `readExternal()` 方法。那该怎么重写呢? + +```java +@Override +public void writeExternal(ObjectOutput out) throws IOException { + out.writeObject(name); + out.writeInt(age); +} + +@Override +public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { + name = (String) in.readObject(); + age = in.readInt(); +} +``` + +1)调用 `ObjectOutput` 的 `writeObject()` 方法将字符串类型的 `name` 写入到输出流中; + +2)调用 `ObjectOutput` 的 `writeInt()` 方法将整型的 `age` 写入到输出流中; + +3)调用 `ObjectInput` 的 `readObject()` 方法将字符串类型的 `name` 读入到输入流中; + +4)调用 `ObjectInput` 的 `readInt()` 方法将字符串类型的 `age` 读入到输入流中; + +再运行一次测试了类,你会发现对象可以正常地序列化和反序列化了。 + +>序列化前:Wanger{name=王二,age=18} +序列化后:Wanger{name=王二,age=18} + +## 05、再来点甜点 + +让我先问问你吧,你知道 ` private static final long serialVersionUID = -2095916884810199532L;` 这段代码的作用吗? + +嗯...... + +`serialVersionUID` 被称为序列化 ID,它是决定 Java 对象能否反序列化成功的重要因子。在反序列化时,Java 虚拟机会把字节流中的 `serialVersionUID` 与被序列化类中的 `serialVersionUID` 进行比较,如果相同则可以进行反序列化,否则就会抛出序列化版本不一致的异常。 + +当一个类实现了 `Serializable` 接口后,IDE 就会提醒该类最好产生一个序列化 ID,就像下面这样: + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/Serializbale-7a9a05f6-a65c-46b0-b4d7-8b619297f351.jpg) + +1)添加一个默认版本的序列化 ID: + +```java +private static final long serialVersionUID = 1L。 +``` + +2)添加一个随机生成的不重复的序列化 ID。 + +```java +private static final long serialVersionUID = -2095916884810199532L; +``` + +3)添加 `@SuppressWarnings` 注解。 + +```java +@SuppressWarnings("serial") +``` + +怎么选择呢? + +首先,我们采用第二种办法,在被序列化类中添加一个随机生成的序列化 ID。 + +```java +class Wanger implements Serializable { + private static final long serialVersionUID = -2095916884810199532L; + + private String name; + private int age; + + // 其他代码忽略 +} +``` + +然后,序列化一个 `Wanger` 对象到文件中。 + +```java +// 初始化 +Wanger wanger = new Wanger(); +wanger.setName("王二"); +wanger.setAge(18); +System.out.println(wanger); + +// 把对象写到文件中 +try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("chenmo"));) { + oos.writeObject(wanger); +} catch (IOException e) { + e.printStackTrace(); +} +``` + +这时候,我们悄悄地把 `Wanger` 类的序列化 ID 偷梁换柱一下,嘿嘿。 + +```java +// private static final long serialVersionUID = -2095916884810199532L; +private static final long serialVersionUID = -2095916884810199533L; +``` + +好了,准备反序列化吧。 + +```java +try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("chenmo")));) { + Wanger wanger = (Wanger) ois.readObject(); + System.out.println(wanger); +} catch (IOException | ClassNotFoundException e) { + e.printStackTrace(); +} +``` + +哎呀,出错了。 + +``` +java.io.InvalidClassException: local class incompatible: stream classdesc +serialVersionUID = -2095916884810199532, +local class serialVersionUID = -2095916884810199533 + at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) + at com.cmower.java_demo.xuliehua1.Test.main(Test.java:27) +``` + +异常堆栈信息里面告诉我们,从持久化文件里面读取到的序列化 ID 和本地的序列化 ID 不一致,无法反序列化。 + +那假如我们采用第三种方法,为 `Wanger` 类添加个 `@SuppressWarnings("serial")` 注解呢? + +```java +@SuppressWarnings("serial") +class Wanger implements Serializable { +// 省略其他代码 +} +``` + +好了,再来一次反序列化吧。可惜依然报错。 + +``` +java.io.InvalidClassException: local class incompatible: stream classdesc +serialVersionUID = -2095916884810199532, +local class serialVersionUID = -3818877437117647968 + at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) + at com.cmower.java_demo.xuliehua1.Test.main(Test.java:27) +``` + +异常堆栈信息里面告诉我们,本地的序列化 ID 为 -3818877437117647968,和持久化文件里面读取到的序列化 ID 仍然不一致,无法反序列化。这说明什么呢?使用 `@SuppressWarnings("serial")` 注解时,该注解会为被序列化类自动生成一个随机的序列化 ID。 + +由此可以证明,Java 虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,还有一个非常重要的因素就是序列化 ID 是否一致。 + +也就是说,如果没有特殊需求,采用默认的序列化 ID(1L)就可以,这样可以确保代码一致时反序列化成功。 + +```java +class Wanger implements Serializable { + private static final long serialVersionUID = 1L; +// 省略其他代码 +} +``` + +## 06、再来点总结 + +写这篇文章之前,我真没想到:“空空其身”的`Serializable` 竟然有这么多可以研究的内容! + +写完这篇文章之后,我不由得想起理科状元曹林菁说说过的一句话:“在学习中再小的问题也不放过,每个知识点都要总结”——说得真真真真的对啊! + + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) \ No newline at end of file diff --git a/docs/io/buffer.md b/docs/io/buffer.md index dbcb9ad8e..45f3a6687 100644 --- a/docs/io/buffer.md +++ b/docs/io/buffer.md @@ -198,7 +198,7 @@ private native int read0() throws IOException; 画幅图比较一下。 -![](https://files.mdnice.com/user/3903/9508a24f-825a-4e41-a0cb-c9b9f338311b.png) +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/buffer-fcae80c2-04a5-4a1b-ab49-89a5ddabd38e.png) 再来看 BufferedOutputStream 的 read 方法: diff --git a/docs/io/char-byte.md b/docs/io/char-byte.md new file mode 100644 index 000000000..22a55bbb1 --- /dev/null +++ b/docs/io/char-byte.md @@ -0,0 +1,213 @@ +--- +title: Java转换流,解决字符与字节之间编码、解码的乱码问题 +shortTitle: Java转换流(编码解码与乱码) +category: + - Java核心 +tag: + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,Java转换流,解决字符与字节之间编码、解码的乱码问题 +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java IO,java 缓冲流,java InputStreamReader,java OutputStreamWriter,java 乱码,java 编码,java 解码 +--- + +何谓转换流?为何由来?让我们暂时带着这两个问题来了解了解字符编码和字符集! + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/char-byte-86699b2c-4f24-492a-ba68-62c3be0f86bc.png) + +## 字符编码与解码 + +众所周知,计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。 + +按照某种规则,将字符存储到计算机中,称为**编码** 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为**解码** 。比如说,按照`A`规则存储,同样按照`A`规则解析,那么就能显示正确的文本符号。反之,按照`A`规则存储,再按照`B`规则解析,就会导致乱码现象。 + +简单一点的说就是: + +> 编码:字符(能看懂的)--字节(看不懂的) +> +> 解码:字节(看不懂的)-->字符(能看懂的) + +代码解释则是 + +```java +String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组 +byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组 + +编码:把看得懂的变成看不懂的 +String -- byte[] + +解码:把看不懂的变成看得懂的 +byte[] -- String +``` + + +* **字符编码** `Character Encoding`: 就是一套自然语言的字符与二进制数之间的对应规则。 + +而**编码表**则是生活中文字和计算机中二进制的对应规则 + +## 字符集 + +* **字符集** `Charset`:也叫**编码表**。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。 + +计算机要准确的存储和识别各种字符集符号,需要进行字符编码,一套字符集必然至少有一套字符编码。常见的字符集有`ASCII`字符集、`GBK`字符集、`Unicode`字符集等。 + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/char-byte-eafc0ac8-ce5b-4183-9a7e-9498e23b2d4e.png) + +可见,当指定了**编码**,它所对应的**字符集**自然就指定了,所以**编码**才是我们最终要关心的。 + +* **ASCII字符集** : +* ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,用于显示现代英语,主要包括控制字符(回车键、退格、换行键等)和可显示字符(英文大小写字符、阿拉伯数字和西文符号)。 +* 基本的ASCII字符集,使用7位(bits)表示一个字符,共128字符。ASCII的扩展字符集使用8位(bits)表示一个字符,共256字符,方便支持欧洲常用字符。 +* **ISO-8859-1字符集**: +* 拉丁码表,别名Latin-1,用于显示欧洲使用的语言,包括荷兰、丹麦、德语、意大利语、西班牙语等。 +* ISO-8859-1使用单字节编码,兼容ASCII编码。 +* **GBxxx字符集**: +* GB就是国标的意思,是为了显示中文而设计的一套字符集。 +* **GB2312**:简体中文码表。一个小于127的字符的意义与原来相同。但两个大于127的字符连在一起时,就表示一个汉字,这样大约可以组合了包含7000多个简体汉字,此外数学符号、罗马希腊的字母、日文的假名们都编进去了,连在ASCII里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符。 +* **GBK**:最常用的中文码表。是在GB2312标准基础上的扩展规范,使用了双字节编码方案,共收录了21003个汉字,完全兼容GB2312标准,同时支持繁体汉字以及日韩汉字等。 +* **GB18030**:最新的中文码表。收录汉字70244个,采用多字节编码,每个字可以由1个、2个或4个字节组成。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等。 +* **Unicode字符集** : +* Unicode编码系统为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码、标准万国码。 +* 它最多使用4个字节的数字来表达每个字母、符号,或者文字。有三种编码方案,UTF-8、UTF-16和UTF-32。最为常用的UTF-8编码。 +* UTF-8编码,可以用来表示Unicode标准中任何字符,它是电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。所以,我们开发Web应用,也要使用UTF-8编码。它使用一至四个字节为每个字符编码,编码规则: +1. 128个US-ASCII字符,只需一个字节编码。 +2. 拉丁文等字符,需要二个字节编码。 +3. 大部分常用字(含中文),使用三个字节编码。 +4. 其他极少使用的Unicode辅助字符,使用四字节编码。 + +## 编码问题导致乱码 + +在java开发工具IDEA中,使用`FileReader` 读取项目中的文本文件。由于IDEA的设置,都是默认的`UTF-8`编码,所以没有任何问题。但是,当读取Windows系统中创建的文本文件时,由于Windows系统默认的是GBK编码,就会出现乱码。 + +```java +public class ReaderDemo { + public static void main(String[] args) throws IOException { + FileReader fileReader = new FileReader("C:\\a.txt"); + int read; + while ((read = fileReader.read()) != -1) { + System.out.print((char)read); + } + fileReader.close(); + } +} +输出结果:��� +``` + + +那么如何读取GBK编码的文件呢? 这个时候就得讲讲转换流了! + +> 从另一角度来讲:**字符流=字节流+编码表** + +## InputStreamReader类--(字节流到字符流的桥梁) + +转换流`java.io.InputStreamReader`,是`Reader`的子类,从字面意思可以看出它是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。 + +### 构造方法 + +> `InputStreamReader(InputStream in)`: 创建一个使用默认字符集的字符流。 +> +> `InputStreamReader(InputStream in, String charsetName)`: 创建一个指定字符集的字符流。 + +构造代码如下: + +```java +InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt")); +InputStreamReader isr2 = new InputStreamReader(new FileInputStream("in.txt") , "GBK"); +``` + + +### 使用转换流解决编码问题 + +```java +public class ReaderDemo2 { + public static void main(String[] args) throws IOException { + // 定义文件路径,文件为gbk编码 + String FileName = "C:\\A.txt"; + // 创建流对象,默认UTF8编码 + InputStreamReader isr = new InputStreamReader(new FileInputStream(FileName)); + // 创建流对象,指定GBK编码 + InputStreamReader isr2 = new InputStreamReader(new FileInputStream(FileName) , "GBK"); + // 定义变量,保存字符 + int read; + // 使用默认编码字符流读取,乱码 + while ((read = isr.read()) != -1) { + System.out.print((char)read); // �����ʺ + } + isr.close(); + + // 使用指定编码字符流读取,正常解析 + while ((read = isr2.read()) != -1) { + System.out.print((char)read); // 沉默王二 + } + isr2.close(); + } +} +``` + + +## 2.4 OutputStreamWriter类--(字符流到字节流的桥梁) + +转换流`java.io.OutputStreamWriter` ,是Writer的子类,字面看容易混淆会误以为是转为字符流,其实不然,OutputStreamWriter为从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。 + +### 构造方法 + +> `OutputStreamWriter(OutputStream in)`: 创建一个使用默认字符集的字符流。 +> +> `OutputStreamWriter(OutputStream in, String charsetName)`: 创建一个指定字符集的字符流。 + +构造举例,代码如下: + +```java +OutputStreamWriter isr = new OutputStreamWriter(new FileOutputStream("a.txt")); +OutputStreamWriter isr2 = new OutputStreamWriter(new FileOutputStream("b.txt") , "GBK"); +``` + + +### 指定编码构造代码 + +```java +public class OutputDemo { + public static void main(String[] args) throws IOException { + // 定义文件路径 + String FileName = "C:\\s.txt"; + // 创建流对象,默认UTF8编码 + OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(FileName)); + // 写出数据 + osw.write("沉默"); // 保存为6个字节 + osw.close(); + + // 定义文件路径 + String FileName2 = "D:\\A.txt"; + // 创建流对象,指定GBK编码 + OutputStreamWriter osw2 = new OutputStreamWriter(new FileOutputStream(FileName2),"GBK"); + // 写出数据 + osw2.write("王二");// 保存为4个字节 + osw2.close(); + } +} +``` + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/char-byte-61d3a7e6-365e-41d3-8c4a-bc9e680c70a6.png) + + + +为了达到**最高效率**,可以考虑在 `BufferedReader` 内包装 `InputStreamReader` + +```java +BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); +``` + + +>参考链接:[https://www.cnblogs.com/yichunguo/p/11775270.html](https://www.cnblogs.com/yichunguo/p/11775270.html),整理:沉默王二 + + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) \ No newline at end of file diff --git a/docs/io/file-path.md b/docs/io/file-path.md index 5986b6398..2f990a3a1 100644 --- a/docs/io/file-path.md +++ b/docs/io/file-path.md @@ -32,7 +32,7 @@ head: 在java中,一切皆是对象,File类也不例外,不论是哪个对象都应该从该对象的构造说起,所以我们来分析分析`File`类的构造方法。首先从API开始着手: -![](https://img-blog.csdnimg.cn/20191013095030887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/file-path-37de6cfc-f82f-4459-bc7e-9b4bd7466d70.png) 比较常用的构造方法有三个: @@ -254,7 +254,7 @@ public class FileFor { ``` -![](https://img-blog.csdnimg.cn/20191013114927925.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/file-path-0f1675a7-ee3b-4f28-9cca-00c4ba5a5759.png) diff --git a/docs/io/print.md b/docs/io/print.md new file mode 100644 index 000000000..236daa6c2 --- /dev/null +++ b/docs/io/print.md @@ -0,0 +1,95 @@ +--- +title: Java打印流:PrintStream & PrintWriter +shortTitle: Java打印流PrintStream +category: + - Java核心 +tag: + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,Java打印流:PrintStream & PrintWriter +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java IO,java 打印流,java PrintStream,java PrintWriter +--- + +## 何谓打印流 + +平时我们在控制台打印输出,是调用`print`方法和`println`方法完成的,各位用了这么久的输出语句肯定没想过这两个方法都来自于`java.io.PrintStream`类吧,哈哈。该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。 + +**打印流分类**: + +> 字节打印流PrintStream,字符打印流PrintWriter + +**打印流特点**: + +> A:只操作目的地,不操作数据源 +> +> B:可以操作任意类型的数据 +> +> C:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新 +> +> D:可以直接操作文件 + +这个时候有同学就要问了,哪些流可以直接操作文件呢?答案很简单,**如果该流的构造方法能够同时接收File和String类型的参数,一般都是可以直接操作文件的**! + +PrintStream是OutputStream的子类,PrintWriter是Writer的子类,两者处于对等的位置上,所以它们的API是非常相似的。二者区别无非一个是字节打印流,一个是字符打印流。 + +## 字节输出打印流PrintStream复制文本文件 + +```java +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintStream; + +public class PrintStreamDemo { + public static void main(String[] args) throws IOException { + BufferedReader br=new BufferedReader(new FileReader("copy.txt")); + PrintStream ps=new PrintStream("printcopy.txt"); + String line; + while((line=br.readLine())!=null) { + ps.println(line); + } + br.close(); + ps.close(); + } +} +``` + + +## 字符输出打印流PrintWriter复制文本文件 + +```java +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +/** + * 使用打印流复制文本文件 + */ +public class PrintWriterDemo { + public static void main(String[] args) throws IOException { + BufferedReader br=new BufferedReader(new FileReader("aa.txt")); + PrintWriter pw=new PrintWriter("printcopyaa.txt"); + String line; + while((line=br.readLine())!=null) { + pw.println(line); + } + br.close(); + pw.close(); + } +} +``` + +>参考链接:[https://www.cnblogs.com/yichunguo/p/11775270.html](https://www.cnblogs.com/yichunguo/p/11775270.html),整理:沉默王二 + + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) \ No newline at end of file diff --git a/docs/io/serialize.md b/docs/io/serialize.md new file mode 100644 index 000000000..e67faa727 --- /dev/null +++ b/docs/io/serialize.md @@ -0,0 +1,233 @@ +--- +title: Java序列化流,字节和对象之间的序列化和反序列化 +shortTitle: Java序列化流(序列化和反序列化) +category: + - Java核心 +tag: + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,Java序列化流,字节和对象之间的序列化和反序列化 +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java IO,java 序列化流,java 序列化,java 反序列化,java ObjectOutputStream,java ObjectInputStream +--- + +序列化有什么好处呢?可以把对象写入文本文件或者在网络中传输。 + +如何实现序列化呢?让被序列化的对象所属类实现[Serializbale序列化接口](https://tobebetterjavaer.com/io/Serializbale.html)。 + +接着我们来继续聊序列化和反序列化。 + +## 何谓序列化 + +Java 提供了一种对象**序列化**的机制。用一个字节序列可以表示一个对象,该字节序列包含该`对象的数据`、`对象的类型`和`对象中存储的属性`等信息。字节序列写出到文件之后,相当于文件中**持久保存**了一个对象的信息。 + +反之,该字节序列还可以从文件中读取回来,重构对象,对它进行**反序列化**。`对象的数据`、`对象的类型`和`对象中存储的数据`信息,都可以用来在内存中创建对象。看图理解序列化: + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/io/serialize-8a1b6818-5f58-4057-b521-f8ba670d72a1.png) + +## ObjectOutputStream类 + +`java.io.ObjectOutputStream` 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。 + +### 构造方法 + +`public ObjectOutputStream(OutputStream out)` : 创建一个指定OutputStream的ObjectOutputStream。 + +构造代码如下: + +```java +FileOutputStream fileOut = new FileOutputStream("aa.txt"); +ObjectOutputStream out = new ObjectOutputStream(fileOut); +``` + + +### 序列化操作 + +1. 一个对象要想序列化,必须满足两个条件: + +- 该类必须实现[`java.io.Serializable` 接口](https://tobebetterjavaer.com/io/Serializbale.html),`Serializable` 是一个标记接口,不实现此接口的类将不会使任何状态序列化或反序列化,会抛出`NotSerializableException` 。 + +- 该类的所有属性都必须是可序列化的。如果有一个属性不需要可序列化,则该属性必须注明是瞬态的,使用[`transient` 关键字](https://tobebetterjavaer.com/io/transient.html)修饰。 + +```java +public class Employee implements java.io.Serializable { + public String name; + public String address; + public transient int age; // transient瞬态修饰成员,不会被序列化 + public void addressCheck() { + System.out.println("Address check : " + name + " -- " + address); + } +} +``` + + +2.写出对象方法 + +`public final void writeObject (Object obj)` : 将指定的对象写出。 + +```java +public class SerializeDemo{ + public static void main(String [] args) { + Employee e = new Employee(); + e.name = "zhangsan"; + e.address = "beiqinglu"; + e.age = 20; + try { + // 创建序列化流对象 + ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.txt")); + // 写出对象 + out.writeObject(e); + // 释放资源 + out.close(); + fileOut.close(); + System.out.println("Serialized data is saved"); // 姓名,地址被序列化,年龄没有被序列化。 + } catch(IOException i) { + i.printStackTrace(); + } + } +} +输出结果: +Serialized data is saved +``` + + +## ObjectInputStream类 + +ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象。 + +### 构造方法 + +`public ObjectInputStream(InputStream in)` : 创建一个指定InputStream的ObjectInputStream。 + +### 反序列化操作1 + +如果能找到一个对象的class文件,我们可以进行反序列化操作,调用`ObjectInputStream`读取对象的方法: + +* `public final Object readObject ()` : 读取一个对象。 + +```java +public class DeserializeDemo { + public static void main(String [] args) { + Employee e = null; + try { + // 创建反序列化流 + FileInputStream fileIn = new FileInputStream("employee.txt"); + ObjectInputStream in = new ObjectInputStream(fileIn); + // 读取一个对象 + e = (Employee) in.readObject(); + // 释放资源 + in.close(); + fileIn.close(); + }catch(IOException i) { + // 捕获其他异常 + i.printStackTrace(); + return; + }catch(ClassNotFoundException c) { + // 捕获类找不到异常 + System.out.println("Employee class not found"); + c.printStackTrace(); + return; + } + // 无异常,直接打印输出 + System.out.println("Name: " + e.name); // zhangsan + System.out.println("Address: " + e.address); // beiqinglu + System.out.println("age: " + e.age); // 0 + } +} +``` + + +**JVM可以反序列化的对象,必须是能够找到class文件的类。如果找不到该类的class文件,则抛出一个 `ClassNotFoundException` 异常。** + +### 反序列化操作2 + +另外,当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个`InvalidClassException`异常。发生这个异常的原因如下: + +> 1、该类的序列版本号与从流中读取的类描述符的版本号不匹配 +> +> 2、该类包含未知数据类型 +> +> 2、该类没有可访问的无参数构造方法 + +`Serializable` 接口给需要序列化的类,提供了一个序列版本号。`serialVersionUID` 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。 + +```java +public class Employee implements java.io.Serializable { + // 加入序列版本号 + private static final long serialVersionUID = 1L; + public String name; + public String address; + // 添加新的属性 ,重新编译, 可以反序列化,该属性赋为默认值. + public int eid; + + public void addressCheck() { + System.out.println("Address check : " + name + " -- " + address); + } +} +``` + + +## 序列化集合练习 + +1. 将存有多个自定义对象的集合序列化操作,保存到`list.txt`文件中。 +2. 反序列化`list.txt` ,并遍历集合,打印对象信息。 + +### 案例分析 + +1. 把若干学生对象 ,保存到集合中。 +2. 把集合序列化。 +3. 反序列化读取时,只需要读取一次,转换为集合类型。 +4. 遍历集合,可以打印所有的学生信息 + +### 案例代码实现 + +```java +public class SerTest { + public static void main(String[] args) throws Exception { + // 创建 学生对象 + Student student = new Student("老王", "laow"); + Student student2 = new Student("老张", "laoz"); + Student student3 = new Student("老李", "laol"); + + ArrayList arrayList = new ArrayList<>(); + arrayList.add(student); + arrayList.add(student2); + arrayList.add(student3); + // 序列化操作 + // serializ(arrayList); + + // 反序列化 + ObjectInputStream ois = new ObjectInputStream(new FileInputStream("list.txt")); + // 读取对象,强转为ArrayList类型 + ArrayList list = (ArrayList)ois.readObject(); + + for (int i = 0; i < list.size(); i++ ){ + Student s = list.get(i); + System.out.println(s.getName()+"--"+ s.getPwd()); + } + } + + private static void serializ(ArrayList arrayList) throws Exception { + // 创建 序列化流 + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("list.txt")); + // 写出对象 + oos.writeObject(arrayList); + // 释放资源 + oos.close(); + } +} +``` + + +>参考链接:[https://www.cnblogs.com/yichunguo/p/11775270.html](https://www.cnblogs.com/yichunguo/p/11775270.html),整理:沉默王二 + + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) \ No newline at end of file diff --git a/docs/io/transient.md b/docs/io/transient.md new file mode 100644 index 000000000..8101d92cb --- /dev/null +++ b/docs/io/transient.md @@ -0,0 +1,314 @@ +--- +title: 招银面试官:说说Java transient关键字 +shortTitle: Java transient关键字 +category: + - Java核心 +tag: + - Java IO +description: Java程序员进阶之路,小白的零基础Java教程,Java transient关键字 +head: + - - meta + - name: keywords + content: Java,Java SE,Java 基础,Java 教程,Java 程序员进阶之路,Java 入门,Java transient +--- + +害,小二最熟的是 Java,但很多 Java 基础知识都不知道,比如 transient 关键字以前就没用到过,所以不知道它的作用是什么,今天去招银面试的时候,面试官问到了这个:说说 Java transient 关键字吧,结果小二直接懵逼了。 + +下面是他自己面试凉了以后回去做的总结,分享出来,大家一起涨下姿势~~~好了,废话不多说,下面开始: + +## 1\. transient 的作用及使用方法 + +我们都知道一个对象只要实现了 Serilizable 接口,这个对象就可以被序列化,java 的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了 Serilizable 接口,这个类的所有属性和方法都会自动序列化。 + +然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上 transient 关键字。 + +换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。 + +总之,java 的 transient 关键字为我们提供了便利,你只需要实现 Serilizable 接口,将不需要序列化的属性前添加关键字 transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。 + +示例 code 如下: + +```java +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + +/** + * @description 使用transient关键字不序列化某个变量 + * 注意读取的时候,读取数据的顺序一定要和存放数据的顺序保持一致 + * + * @author Alexia + * @date 2013-10-15 + */ +public class TransientTest { + + public static void main(String[] args) { + + User user = new User(); + user.setUsername("沉默王二"); + user.setPasswd("123456"); + + System.out.println("read before Serializable: "); + System.out.println("username: " + user.getUsername()); + System.err.println("password: " + user.getPasswd()); + + try { + ObjectOutputStream os = new ObjectOutputStream( + new FileOutputStream("C:/user.txt")); + os.writeObject(user); // 将User对象写进文件 + os.flush(); + os.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + ObjectInputStream is = new ObjectInputStream(new FileInputStream( + "C:/user.txt")); + user = (User) is.readObject(); // 从流中读取User的数据 + is.close(); + + System.out.println("\nread after Serializable: "); + System.out.println("username: " + user.getUsername()); + System.err.println("password: " + user.getPasswd()); + + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } +} + +class User implements Serializable { + private static final long serialVersionUID = 8294180014912103005L; + + private String username; + private transient String passwd; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPasswd() { + return passwd; + } + + public void setPasswd(String passwd) { + this.passwd = passwd; + } + +} +``` + +输出为: + +``` +read before Serializable: +username: Alexia +password: 123456 read after Serializable: +username: Alexia +password: null +``` + +密码字段为 null,说明反序列化时根本没有从文件中获取到信息。 + +## 2\. transient 使用小结 + +1)一旦变量被 transient 修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。 + +2)transient 关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被 transient 关键字修饰的。变量如果是用户自定义类变量,则该类需要实现 Serializable 接口。 + +3)被 transient 关键字修饰的变量不能被序列化,一个静态变量不管是否被 transient 修饰,均不能被序列化。 + +第三点可能有些人很迷惑,因为发现在 User 类中的 username 字段前加上 static 关键字后,程序运行结果依然不变,即 static 类型的 username 也读出来为“Alexia”了,这不与第三点说的矛盾吗? + +实际上是这样的:第三点确实没错(一个静态变量不管是否被 transient 修饰,均不能被序列化),反序列化后类中 static 型变量 username 的值为当前 JVM 中对应 static 变量的值,这个值是 JVM 中的,不是反序列化得出的,不相信?好吧,下面我来证明: + +```java +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + +/** + * @description 使用transient关键字不序列化某个变量 + * 注意读取的时候,读取数据的顺序一定要和存放数据的顺序保持一致 + * + * @author Alexia + * @date 2013-10-15 + */ +public class TransientTest { + + public static void main(String[] args) { + + User user = new User(); + user.setUsername("沉默王二"); + user.setPasswd("123456"); + + System.out.println("read before Serializable: "); + System.out.println("username: " + user.getUsername()); + System.err.println("password: " + user.getPasswd()); + + try { + ObjectOutputStream os = new ObjectOutputStream( + new FileOutputStream("C:/user.txt")); + os.writeObject(user); // 将User对象写进文件 + os.flush(); + os.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + // 在反序列化之前改变username的值 + User.username = "jmwang"; + + ObjectInputStream is = new ObjectInputStream(new FileInputStream( + "C:/user.txt")); + user = (User) is.readObject(); // 从流中读取User的数据 + is.close(); + + System.out.println("\nread after Serializable: "); + System.out.println("username: " + user.getUsername()); + System.err.println("password: " + user.getPasswd()); + + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } +} + +class User implements Serializable { + private static final long serialVersionUID = 8294180014912103005L; + + public static String username; + private transient String passwd; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPasswd() { + return passwd; + } + + public void setPasswd(String passwd) { + this.passwd = passwd; + } + +} +``` + +运行结果为: + +``` +read before Serializable: +username: Alexia +password: 123456 read after Serializable: +username: jmwang +password: null +``` + +这说明反序列化后类中 static 型变量 username 的值为当前 JVM 中对应 static 变量的值,为修改后 jmwang,而不是序列化时的值 沉默王二。 + +## 3\. transient 使用细节——被 transient 关键字修饰的变量真的不能被序列化吗? + +思考下面的例子: + +```java +import java.io.Externalizable; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectInputStream; +import java.io.ObjectOutput; +import java.io.ObjectOutputStream; + +/** + * @descripiton Externalizable接口的使用 + * + * @author Alexia + * @date 2013-10-15 + * + */ +public class ExternalizableTest implements Externalizable { + + private transient String content = "是的,我将会被序列化,不管我是否被transient关键字修饰"; + + @Override + public void writeExternal(ObjectOutput out) throws IOException { + out.writeObject(content); + } + + @Override + public void readExternal(ObjectInput in) throws IOException, + ClassNotFoundException { + content = (String) in.readObject(); + } + + public static void main(String[] args) throws Exception { + + ExternalizableTest et = new ExternalizableTest(); + ObjectOutput out = new ObjectOutputStream(new FileOutputStream( + new File("test"))); + out.writeObject(et); + + ObjectInput in = new ObjectInputStream(new FileInputStream(new File( + "test"))); + et = (ExternalizableTest) in.readObject(); + System.out.println(et.content); + + out.close(); + in.close(); + } +} +``` + +content 变量会被序列化吗?好吧,我把答案都输出来了,是的,运行结果就是: + +``` +是的,我将会被序列化,不管我是否被transient关键字修饰 +``` + +这是为什么呢,不是说类的变量被 transient 关键字修饰以后将不能序列化了吗? + +我们知道在 Java 中,对象的序列化可以通过实现两种接口来实现,若实现的是 Serializable 接口,则所有的序列化将会自动进行,若实现的是 Externalizable 接口,则没有任何东西可以自动序列化,需要在 writeExternal 方法中进行手工指定所要序列化的变量,这与是否被 transient 修饰无关。 + +因此第二个例子输出的是变量 content 初始化的内容,而不是 null。 + +> 参考链接:[https://www.cnblogs.com/lanxuezaipiao/p/3369962.html](https://www.cnblogs.com/lanxuezaipiao/p/3369962.html),整理:沉默王二 + +--------- + +最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) + +关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 + + +![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png) \ No newline at end of file diff --git a/docs/nice-article/cnblog/shiszszqzxxdioljcmyzy.md b/docs/nice-article/cnblog/shiszszqzxxdioljcmyzy.md deleted file mode 100644 index 6419deede..000000000 --- a/docs/nice-article/cnblog/shiszszqzxxdioljcmyzy.md +++ /dev/null @@ -1,2307 +0,0 @@ ---- -title: 史上最骚最全最详细的IO流教程,没有之一! -shortTitle: 史上最骚最全最详细的IO流教程,没有之一! -author: 宜春 -category: - - 博客园 ---- - -**前言** - -io流用到的地方很多,就比如上传下载,传输,设计模式等....基础打扎实了,才能玩更高端的。 - -在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点: - -> (1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写) -> -> (2)明确要操作的设备上的数据是字节还是文本 -> -> (3)明确数据所在的具体设备 -> -> (4)明确是否需要额外功能(比如是否需要转换流、高效流等) - -以上四点将会在文章告白IO流的四点明确里面小结一下,如果各位真能熟练以上四点,我觉得这篇文章你就没必要看了,因为你已经把IO玩弄与股掌之中,万物皆可被你盘也就也不再话下了。 - -@ - -目录 - -* [1、告白IO流的四点明确](#1告白io流的四点明确) -* [2、File类](#2file类) -* [1.1 File概述](#11-file概述) -* [1.2 构造方法](#12-构造方法) -* [1.3 常用方法](#13-常用方法) -* [1.3.1 获取功能的方法](#131-获取功能的方法) -* [1.3.2 绝对路径和相对路径](#132-绝对路径和相对路径) -* [1.3.3判断功能的方法](#133判断功能的方法) -* [1.3.4 创建删除功能的方法](#134-创建删除功能的方法) -* [1.4 目录的遍历](#14-目录的遍历) -* [1.5 递归遍历文件夹下所有文件以及子文件](#15-递归遍历文件夹下所有文件以及子文件) -* [3、初探IO流](#3初探io流) -* [1.1 什么是IO](#11-什么是io) -* [1.2 IO的分类](#12-io的分类) -* [1.3 关于IO的分流向说明](#13-关于io的分流向说明) -* [字节流OutputStream与InputStream的故事](#字节流outputstream与inputstream的故事) -* [2.1 文件的世界里一切皆为字节](#21-文件的世界里一切皆为字节) -* [2.2 字节输出流(OutputStream)](#22-字节输出流outputstream) -* * [FileOutputStream类](#fileoutputstream类) -* [FileOutputStream构造方法](#fileoutputstream构造方法) -* [FileOutputStream写出字节数据](#fileoutputstream写出字节数据) -* [FileOutputStream实现数据追加续写、换行](#fileoutputstream实现数据追加续写换行) -* [2.3 字节输入流(InputStream)](#23-字节输入流inputstream) -* * [FileInputStream类](#fileinputstream类) -* [FileInputStream的构造方法](#fileinputstream的构造方法) -* [FileInputStream读取字节数据](#fileinputstream读取字节数据) -* [字节流FileInputstream复制图片](#字节流fileinputstream复制图片) -* [字符流Reader和Writer的故事](#字符流reader和writer的故事) -* [字符流](#字符流) -* [1、 字符输入流(Reader)](#1-字符输入流reader) -* * [FileReader类](#filereader类) -* [构造方法](#构造方法) -* [FileReader读取字符数据](#filereader读取字符数据) -* [2、字符输出流(Writer)](#2字符输出流writer) -* [FileWriter类](#filewriter类) -* [构造方法](#构造方法-1) -* [FileWriter写出数据](#filewriter写出数据) -* [关闭close和刷新flush](#关闭close和刷新flush) -* [FileWriter的续写和换行](#filewriter的续写和换行) -* [FileReader和FileWriter类完成文本文件复制](#filereader和filewriter类完成文本文件复制) -* [IO异常的处理](#io异常的处理) -* [1、缓冲流【掌握】](#1缓冲流掌握) -* [1.1 简要概述](#11-简要概述) -* [1.2 字节缓冲流](#12-字节缓冲流) -* [构造方法](#构造方法-2) -* [感受缓冲流的高效](#感受缓冲流的高效) -* [1.3 字符缓冲流](#13-字符缓冲流) -* [构造方法](#构造方法-3) -* [字符缓冲流特有方法](#字符缓冲流特有方法) -* [1.4 字符缓冲流练习](#14-字符缓冲流练习) -* [代码实现](#代码实现) -* [2、转换流【掌握】](#2转换流掌握) -* * [2.1 字符编码与解码](#21-字符编码与解码) -* [字符集](#字符集) -* [2.2 编码问题导致乱码](#22-编码问题导致乱码) -* [2.3 InputStreamReader类-----(字节流到字符流的桥梁)](#23-inputstreamreader类-----字节流到字符流的桥梁) -* [构造方法](#构造方法-4) -* [使用转换流解决编码问题](#使用转换流解决编码问题) -* [2.4 OutputStreamWriter类-----(字符流到字节流的桥梁)](#24-outputstreamwriter类-----字符流到字节流的桥梁) -* [构造方法](#构造方法-5) -* [指定编码构造代码](#指定编码构造代码) -* [3、序列化流【理解】](#3序列化流理解) -* [3.1 何谓序列化](#31-何谓序列化) -* [3.2 ObjectOutputStream类](#32-objectoutputstream类) -* [构造方法](#构造方法-6) -* [序列化操作](#序列化操作) -* [3.3 ObjectInputStream类](#33-objectinputstream类) -* [构造方法](#构造方法-7) -* [反序列化操作1](#反序列化操作1) -* [反序列化操作2](#反序列化操作2) -* [3.4 序列化集合练习](#34-序列化集合练习) -* [案例分析](#案例分析) -* [案例代码实现](#案例代码实现) -* [4、打印流【掌握】](#4打印流掌握) -* [4.1 何谓打印流](#41-何谓打印流) -* [4.2 字节输出打印流PrintStream复制文本文件](#42-字节输出打印流printstream复制文本文件) -* [4.3 字符输出打印流PrintWriter复制文本文件](#43-字符输出打印流printwriter复制文本文件) -* [5、Properties属性类](#5properties属性类) -* [5.1 Properties概述](#51-properties概述) -* [5.2 Properties类](#52-properties类) -* [构造方法](#构造方法-8) -* [基本的存储方法](#基本的存储方法) -* [与流相关的方法](#与流相关的方法) - -# 1、告白IO流的四点明确 - -(1)明确要操作的数据是数据源还是数据目的(要读还是要写) - -     - ->  源: -> -> **InputStream  Reader** - -> 目的: -> -> **OutputStream  Writer** - -(2)明确要操作的设备上的数据是字节还是文本 - -      - ->  源: -> ->           字节: **InputStream** -> ->           文本: **Reader** - ->       目的: -> ->           字节: **OutputStream** -> ->           文本: **Writer** - -(3)明确数据所在的具体设备 - -    - ->    源设备: -> ->         硬盘:文件 `File`开头 -> ->         内存:数组,字符串 -> ->         键盘:`System.in` -> ->         网络:`Socket` - ->       对应目的设备: -> ->         硬盘:文件 `File`开头 -> ->         内存:数组,字符串 -> ->         屏幕:`System.out` -> ->         网络:`Socket` - -(4)明确是否需要额外功能 - -   - ->   需要转换—— 转换流 **InputStreamReader 、OutputStreamWriter** -> ->     需要高效—— 缓冲流**Bufferedxxx** -> ->     多个源—— 序列流 **SequenceInputStream** -> ->     对象序列化—— **ObjectInputStream、ObjectOutputStream** -> ->     保证数据的输出形式—— 打印流**PrintStream 、Printwriter** -> ->     操作基本数据,保证字节原样性——**DataOutputStream、DataInputStream** - -到这里,我们再来看看IO流的分类吧 - -![](https://img-blog.csdnimg.cn/20191014111930276.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -OK,准备好了告白IO流了咩? - -# 2、File类 - -至于IO流,也就是输入输出流,从文件出发到文件结束,至始至终都离不开文件,所以IO流还得从文件File类讲起。 - -## 1.1 File概述 - -`java.io.File` 类是专门对文件进行操作的类,只能对文件本身进行操作,不能对文件内容进行操作。 - -`java.io.File` 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 - -怎么理解上面两句话?其实很简单! - -第一句就是说File跟流无关,File类不能对文件进行读和写也就是输入和输出! - -第二句就是说File主要表示类似`D:\\文件目录1`与`D:\\文件目录1\\文件.txt`,前者是文件夹(Directory)后者则是文件(file),而File类就是操作这两者的类。 - -## 1.2 构造方法 - -在java中,一切皆是对象,File类也不例外,不论是哪个对象都应该从该对象的构造说起,所以博主来分析分析`File`类的构造方法。首先从API开始着手 - -![](https://img-blog.csdnimg.cn/20191013095030887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -我们主要来学习一下比较常用的三个: - -1、 `public File(String pathname)` :通过将给定的**路径名字符串**转换为抽象路径名来创建新的 File实例。 - -2、 `public File(String parent, String child)` :从**父路径名字符串和子路径名字符串**创建新的 File实例。 - -3、 `public File(File parent, String child)` :从**父抽象路径名和子路径名字符串**创建新的 File实例。 - -看字描述不够生动不够形象不得劲?没得事,下面进行构造举例,马上就生动形象了,代码如下: - -```java -1. 一个File对象代表硬盘中实际存在的一个文件或者目录。 -2. File类构造方法不会给你检验这个文件或文件夹是否真实存在,因此无论该路径下是否存在文件或者目录,都不影响File对象的创建。 -// 文件路径名 -String path = "D:\\123.txt"; -File file1 = new File(path); - -// 文件路径名 -String path2 = "D:\\1\\2.txt"; -File file2 = new File(path2); -------------相当于D:\\1\\2.txt - -// 通过父路径和子路径字符串 - String parent = "F:\\aaa"; - String child = "bbb.txt"; - File file3 = new File(parent, child); --------相当于F:\\aaa\\bbb.txt - -// 通过父级File对象和子路径字符串 -File parentDir = new File("F:\\aaa"); -String child = "bbb.txt"; -File file4 = new File(parentDir, child); --------相当于F:\\aaa\\bbb.txt -``` - - -> File类的注意点: -> -> 1. 一个File对象代表硬盘中实际存在的一个文件或者目录。 -> 2. File类构造方法不会给你检验这个文件或文件夹是否真实存在,因此无论该路径下是否存在文件或者目录,都不影响File对象的创建。 - -## 1.3 常用方法 - -File的常用方法主要分为获取功能、获取绝对路径和相对路径、判断功能、创建删除功能的方法 - -### 1.3.1 获取功能的方法 - -1、`public String getAbsolutePath()` :返回此File的绝对路径名字符串。 - -2、`public String getPath()` :将此File转换为路径名字符串。 - -3、`public String getName()` :返回由此File表示的文件或目录的名称。 - -4、`public long length()` :返回由此File表示的文件的长度。 - -以上方法测试,代码如下【注意测试以自己的电脑文件夹为准】: - -```java -public class FileGet { - public static void main(String[] args) { - File f = new File("d:/aaa/bbb.java"); - System.out.println("文件绝对路径:"+f.getAbsolutePath()); - System.out.println("文件构造路径:"+f.getPath()); - System.out.println("文件名称:"+f.getName()); - System.out.println("文件长度:"+f.length()+"字节"); - - File f2 = new File("d:/aaa"); - System.out.println("目录绝对路径:"+f2.getAbsolutePath()); - System.out.println("目录构造路径:"+f2.getPath()); - System.out.println("目录名称:"+f2.getName()); - System.out.println("目录长度:"+f2.length()); - } -} -输出结果: -文件绝对路径:d:\aaa\bbb.java -文件构造路径:d:\aaa\bbb.java -文件名称:bbb.java -文件长度:2116字节 - -目录绝对路径:d:\aaa -目录构造路径:d:\aaa -目录名称:aaa -目录长度:3236 -``` - - -> 注意:`length()`,表示文件的长度。但是`File`对象表示目录,则返回值未指定。 - -### 1.3.2 绝对路径和相对路径 - -**绝对路径**:一个完整的路径,以盘符开头,例如`F://aaa.txt`。 - -**相对路径**:一个简化的路径,不以盘符开头,例如`//aaa.txt//b.txt`。 - -> 1、**路径是不区分大小写** -> -> 2、路径中的文件名称分隔符windows使用反斜杠,反斜杠是转义字符,两个反斜杠代表一个普通的反斜杠 - -```java -//绝对路径 -public class FilePath { - public static void main(String[] args) { - // D盘下的bbb.java文件 - File f = new File("D:\\bbb.java"); - System.out.println(f.getAbsolutePath()); - - // 项目下的bbb.java文件 - File f2 = new File("bbb.java"); - System.out.println(f2.getAbsolutePath()); - } -} -输出结果: -D:\bbb.java -D:\java\bbb.java -``` - - -### 1.3.3判断功能的方法 - -1、 `public boolean exists()` :此File表示的文件或目录是否实际存在。 - -2、 `public boolean isDirectory()` :此File表示的是否为目录。 - -3、`public boolean isFile()` :此File表示的是否为文件。 - -方法演示,代码如下: - -```java -public class FileIs { - public static void main(String[] args) { - File f = new File("d:\\aaa\\bbb.java"); - File f2 = new File("d:\\aaa"); - // 判断是否存在 - System.out.println("d:\\aaa\\bbb.java 是否存在:"+f.exists()); - System.out.println("d:\\aaa 是否存在:"+f2.exists()); - // 判断是文件还是目录 - System.out.println("d:\\aaa 文件?:"+f2.isFile()); - System.out.println("d:\\aaa 目录?:"+f2.isDirectory()); - } -} -输出结果: -d:\aaa\bbb.java 是否存在:true -d:\aaa 是否存在:true -d:\aaa 文件?:false -d:\aaa 目录?:true -``` - - -### 1.3.4 创建删除功能的方法 - -* `public boolean createNewFile()` :文件不存在,创建一个新的空文件并返回`true`,文件存在,不创建文件并返回`false`。 -* `public boolean delete()` :删除由此File表示的文件或目录。 -* `public boolean mkdir()` :创建由此File表示的目录。 -* `public boolean mkdirs()` :创建由此File表示的目录,包括任何必需但不存在的父目录。 - -其中,`mkdirs()`和`mkdir()`方法类似,但`mkdir()`,只能创建一级目录,`mkdirs()`可以创建多级目录比如`//a//b//c`,所以**开发中一般用**`mkdirs()`; - -> 这些方法中值得注意的是**createNewFile**方法以及**mkdir**与**mkdirs**的区别 - -方法测试,代码如下: - -```java -public class FileCreateDelete { - public static void main(String[] args) throws IOException { - // 文件的创建 - File f = new File("aaa.txt"); - System.out.println("是否存在:"+f.exists()); // false - System.out.println("是否创建:"+f.createNewFile()); // true - System.out.println("是否创建:"+f.createNewFile()); // 以及创建过了所以再使用createNewFile返回false - System.out.println("是否存在:"+f.exists()); // true - - // 目录的创建 - File f2= new File("newDir"); - System.out.println("是否存在:"+f2.exists());// false - System.out.println("是否创建:"+f2.mkdir()); // true - System.out.println("是否存在:"+f2.exists());// true - - // 创建多级目录 - File f3= new File("newDira\\newDirb"); - System.out.println(f3.mkdir());// false - File f4= new File("newDira\\newDirb"); - System.out.println(f4.mkdirs());// true - - // 文件的删除 - System.out.println(f.delete());// true - - // 目录的删除 - System.out.println(f2.delete());// true - System.out.println(f4.delete());// false - } -} -``` - - -> 注意:`delete`方法,如果此`File`表示目录,则目录必须为空才能删除。 - -## 1.4 目录的遍历 - -* `public String[] list()` :返回一个String数组,表示该File目录中的所有子文件或目录。 -* `public File[] listFiles()` :返回一个File数组,表示该File目录中的所有的子文件或目录。 - -```java -public class FileFor { - public static void main(String[] args) { - File dir = new File("G:\光标"); - - //获取当前目录下的文件以及文件夹的名称。 - String[] names = dir.list(); - for(String name : names){ - System.out.println(name); - } - //获取当前目录下的文件以及文件夹对象,只要拿到了文件对象,那么就可以获取更多信息 - File[] files = dir.listFiles(); - for (File file : files) { - System.out.println(file); - } - } -} -``` - - -![](https://img-blog.csdnimg.cn/20191013114927925.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -**listFiles**在获取指定目录下的文件或者文件夹时必须满足下面两个条件 - -1,**指定的目录必须存在** - -2,**指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException异常** - -## 1.5 递归遍历文件夹下所有文件以及子文件 - -不说啥了,直接上代码: - -```java -package File; - -import java.io.File; - -//递归遍历文件夹下所有的文件 -public class RecursionDirectory { - public static void main(String[] args) { - File file=new File("D:\\java专属IO测试"); - Recursion(file); - } - public static void Recursion(File file){ - //1、判断传入的是否是目录 - if(!file.isDirectory()){ - //不是目录直接退出 - return; - } - //已经确保了传入的file是目录 - File[] files = file.listFiles(); - //遍历files - for (File f: files) { - //如果该目录下文件还是个文件夹就再进行递归遍历其子目录 - if(f.isDirectory()){ - //递归 - Recursion(f); - }else { - //如果该目录下文件是个文件,则打印对应的名字 - System.out.println(f.getName()); - } - - } - } -} -``` - - -如果对上面的代码有疑问,可以随时联系我,博主一直都在! - -# 3、初探IO流 - -## 1.1 什么是IO - -我想在座各位肯定经历都过这样的场景。当你编辑一个文本文件也好用eclipse打代码也罢,忘记了`ctrl+s` ,在你关闭文件的哪一瞬间手残点了个不该点的按钮,但你反应过来,心早已拔凉拔凉的了。 - -我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为`输入input` 和`输出output` ,即流向内存是输入流,流出内存的输出流。 - -Java中I/O操作主要是指使用`java.io`包下的内容,进行输入、输出操作。**输入也叫做读取数据,输出也叫做作写出数据**。 - -## 1.2 IO的分类 - -根据数据的流向分为:**输入流** 和 **输出流**。 - -* **输入流** :把数据从`其他设备`上读取到`内存`中的流。 -* **输出流** :把数据从`内存` 中写出到`其他设备`上的流。 - -根据数据的类型分为:**字节流** 和 **字符流**。 - -* **字节流** :以字节为单位,读写数据的流。 -* **字符流** :以字符为单位,读写数据的流。 - -**分类之后对应的超类**(V8提示:超类也就是父类的意思) - -|输入流|输出流| ----|---|---| -字节流|字节输入流 **InputStream**|字节输出流 **OutputStream**| -字符流|字符输入流 **Reader**|字符输出流 **Writer**| - -**注**: - -**由这四个类的子类名称基本都是以其父类名作为子类名的后缀**。 - -如:InputStream的子类FileInputStream。 - -如:Reader的子类FileReader。 - -![](https://img-blog.csdnimg.cn/20191013212051298.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -## 1.3 关于IO的分流向说明 - -啥都不说了,看图吧 - -![](https://img-blog.csdnimg.cn/20191013151622369.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -![](https://img-blog.csdnimg.cn/20191015144401127.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -## 字节流OutputStream与InputStream的故事 - -OutputStream与InputStream的继承关系 - -![](https://img-blog.csdnimg.cn/20191015145625281.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -## 2.1 文件的世界里一切皆为字节 - -我们必须明确一点的是,一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。 - -## 2.2 字节输出流(OutputStream) - -`java.io.OutputStream` 抽象类是表示**字节输出流**的所有类的**超类**(父类),将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法,不要问我`OutputStream`为啥可以定义字节输出流的基本共性功能方法,熊dei啊,上一句说过了**OutputStream是字节输出流的所有类的超类**,[继承](https://blog.csdn.net/qq_44543508/article/details/102375196)知识,懂?(如果是真的不理解的小白同学,可以点击蓝色字体[继承](https://blog.csdn.net/qq_44543508/article/details/102375196)进入补习) - -**字节输出流的基本共性功能方法**: - -> 1、 `public void close()` :关闭此输出流并释放与此流相关联的任何系统资源。 -> -> 2、 `public void flush()` :刷新此输出流并强制任何缓冲的输出字节被写出。 -> -> 3、 `public void write(byte[] b)`:将 b.length个字节从指定的字节数组写入此输出流。 -> -> 4、 `public void write(byte[] b, int off, int len)` :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。 **也就是说从off个字节数开始读取一直到len个字节结束** -> -> 5、 `public abstract void write(int b)` :将指定的字节输出流。 - -> **以上五个方法则是字节输出流都具有的方法,由父类OutputStream定义提供,子类都会共享以上方法** - -#### FileOutputStream类 - -`OutputStream`有很多子类,我们从最简单的一个子类FileOutputStream开始。看名字就知道是文件输出流,用于将数据写出到文件。 - -#### FileOutputStream构造方法 - -不管学啥子,只有是对象,就从构造方法开始! - -> 1、 `public FileOutputStream(File file)`:根据File对象为参数创建对象。 -> -> 2、 `public FileOutputStream(String name)`: 根据名称字符串为参数创建对象。 - -**推荐第二种构造方法**【开发常用】: - -```java -FileOutputStream outputStream = new FileOutputStream("abc.txt"); -``` - - -就以上面这句代码来讲,类似这样创建字节输出流对象都做了**三件事情**: - -1、调用系统功能去创建文件【输出流对象才会自动创建】 - -2、创建outputStream对象 - -3、把foutputStream对象指向这个文件 - -> 注意: -> -> 创建输出流对象的时候,系统会自动去对应位置创建对应文件,而创建输出流对象的时候,文件不存在则会报FileNotFoundException异常,也就是系统找不到指定的文件异常。 - -当你创建一个流对象时,必须直接或者间接传入一个文件路径。比如现在我们创建一个`FileOutputStream`流对象,在该路径下,如果没有这个文件,会创建该文件。如果有这个文件,会清空这个文件的数据。有兴趣的童鞋可以测试一下,具体代码如下: - -```java -public class FileOutputStreamConstructor throws IOException { - public static void main(String[] args) { - // 使用File对象创建流对象 - File file = new File("G:\\自动创建的文件夹\\a.txt"); - FileOutputStream fos = new FileOutputStream(file); - - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("G:\\b.txt"); - } -} -``` - - -#### FileOutputStream写出字节数据 - -使用FileOutputStream写出字节数据主要通过`Write`方法,而`write`方法分如下三种 - -```java -public void write(int b) -public void write(byte[] b) -public void write(byte[] b,int off,int len) //从`off`索引开始,`len`个字节 -``` - - -1. **写出字节**:`write(int b)` 方法,每次可以写出一个字节数据,代码如下: - -```java -public class IoWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("fos.txt"); - // 写出数据 - fos.write(97); // 写出第1个字节 - fos.write(98); // 写出第2个字节 - fos.write(99); // 写出第3个字节 - // 关闭资源 - fos.close(); - } -} -输出结果: -abc -``` - - -> 1. 虽然参数为int类型四个字节,但是只会保留一个字节的信息写出。 -> 2. 流操作完毕后,必须释放系统资源,调用close方法,千万记得。 - -2. **写出字节数组**:`write(byte[] b)`,每次可以写出数组中的数据,代码使用演示: - -```java -public class FOSWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("fos.txt"); - // 字符串转换为字节数组 - byte[] b = "麻麻我想吃烤山药".getBytes(); - // 写出字节数组数据 - fos.write(b); - // 关闭资源 - fos.close(); - } -} -输出结果: -麻麻我想吃烤山药 -``` - - -3. **写出指定长度字节数组**:`write(byte[] b, int off, int len)` ,每次写出从`off`索引开始,`len`个字节,代码如下: - -```java -public class FOSWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("fos.txt"); - // 字符串转换为字节数组 - byte[] b = "abcde".getBytes(); - // 写出从索引2开始,2个字节。索引2是c,两个字节,也就是cd。 - fos.write(b,2,2); - // 关闭资源 - fos.close(); - } -} -输出结果: -cd -``` - - -#### FileOutputStream实现数据追加续写、换行 - -经过以上的代码测试,每次程序运行,每次创建输出流对象,都会清空目标文件中的数据。如何保留目标文件中数据,还能继续**追加新数据**呢?并且实现**换行**呢?其实很简单,这个时候我们又要再学习`FileOutputStream`的另外两个构造方法了,如下: - -1、`public FileOutputStream(File file, boolean append)` - -2、`public FileOutputStream(String name, boolean append)` - -这两个构造方法,第二个参数中都需要传入一个boolean类型的值,`true` 表示追加数据,`false` 表示不追加也就是清空原有数据。这样创建的输出流对象,就可以指定是否追加续写了,至于Windows换行则是 `\n\r` ,下面将会详细讲到。 - -实现数据追加续写代码如下: - -```java -public class FOSWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("fos.txt",true); - // 字符串转换为字节数组 - byte[] b = "abcde".getBytes(); - // 写出从索引2开始,2个字节。索引2是c,两个字节,也就是cd。 - fos.write(b); - // 关闭资源 - fos.close(); - } -} -文件操作前:cd -文件操作后:cdabcde -``` - - -Windows系统里,换行符号是`\r\n` ,具体代码如下: - -```java -public class FOSWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileOutputStream fos = new FileOutputStream("fos.txt"); - // 定义字节数组 - byte[] words = {97,98,99,100,101}; - // 遍历数组 - for (int i = 0; i < words.length; i++) { - // 写出一个字节 - fos.write(words[i]); - // 写出一个换行, 换行符号转成数组写出 - fos.write("\r\n".getBytes()); - } - // 关闭资源 - fos.close(); - } -} - -输出结果: -a -b -c -d -e -``` - - -> * 回车符`\r`和换行符`\n` : -> * 回车符:回到一行的开头(return)。 -> * 换行符:下一行(newline)。 -> * 系统中的换行: -> * Windows系统里,每行结尾是 `回车+换行` ,即`\r\n`; -> * Unix系统里,每行结尾只有 `换行` ,即`\n`; -> * Mac系统里,每行结尾是 `回车` ,即`\r`。从 Mac OS X开始与Linux统一。 - -## 2.3 字节输入流(InputStream) - -`java.io.InputStream` 抽象类是表示**字节输入流**的所有类的**超类**(父类),可以读取字节信息到内存中。它定义了字节输入流的基本共性功能方法。 - -**字节输入流的基本共性功能方法**: - -> 1、 `public void close()` :关闭此输入流并释放与此流相关联的任何系统资源。 -> -> 2、`public abstract int read()`: 从输入流读取数据的下一个字节。 -> -> 3、 `public int read(byte[] b)`: 该方法返回的int值代表的是读取了多少个字节,读到几个返回几个,读取不到返回-1 - -#### FileInputStream类 - -`java.io.FileInputStream` 类是文件输入流,从文件中读取字节。 - -#### FileInputStream的构造方法 - -> 1、 `FileInputStream(File file)`: 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的 File对象 file命名。 -> -> 2、 `FileInputStream(String name)`: 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名name命名。 - -同样的,推荐使用第二种构造方法: - - -```java -FileInputStream inputStream = new FileInputStream("a.txt"); -``` - - -当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有该文件,会抛出`FileNotFoundException` 。 - -构造举例,代码如下: - -```java -public class FileInputStreamConstructor throws IOException{ - public static void main(String[] args) { - // 使用File对象创建流对象 - File file = new File("a.txt"); - FileInputStream fos = new FileInputStream(file); - - // 使用文件名称创建流对象 - FileInputStream fos = new FileInputStream("b.txt"); - } -} -``` - - -#### FileInputStream读取字节数据 - -1. **读取字节**:`read`方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回`-1`,代码测试如下【read.txt文件中内容为abcde】: - -```java -public class FISRead { - public static void main(String[] args) throws IOException{ - // 使用文件名称创建流对象 - FileInputStream fis = new FileInputStream("read.txt");//read.txt文件中内容为abcde - // 读取数据,返回一个字节 - int read = fis.read(); - System.out.println((char) read); - read = fis.read(); - System.out.println((char) read); - read = fis.read(); - System.out.println((char) read); - read = fis.read(); - System.out.println((char) read); - read = fis.read(); - System.out.println((char) read); - // 读取到末尾,返回-1 - read = fis.read(); - System.out.println( read); - // 关闭资源 - fis.close(); - } -} -输出结果: -a -b -c -d -e --1 -``` - - -循环改进读取方式,代码使用演示: - -```java -public class FISRead { - public static void main(String[] args) throws IOException{ - // 使用文件名称创建流对象 - FileInputStream fis = new FileInputStream("read.txt"); - // 定义变量,保存数据 - int b ; - // 循环读取 - while ((b = fis.read())!=-1) { - System.out.println((char)b); - } - // 关闭资源 - fis.close(); - } -} -输出结果: -a -b -c -d -e -``` - - -2. **使用字节数组读取**:`read(byte[] b)`,每次读取b的长度个字节到数组中,返回读取到的有效字节个数,读取到末尾时,返回`-1` ,代码使用演示: - -```java -public class FISRead { - public static void main(String[] args) throws IOException{ - // 使用文件名称创建流对象. - FileInputStream fis = new FileInputStream("read.txt"); // read.txt文件中内容为abcde - // 定义变量,作为有效个数 - int len ; - // 定义字节数组,作为装字节数据的容器 - byte[] b = new byte[2]; - // 循环读取 - while (( len= fis.read(b))!=-1) { - // 每次读取后,把数组变成字符串打印 - System.out.println(new String(b)); - } - // 关闭资源 - fis.close(); - } -} - -输出结果: -ab -cd -ed -``` - - -由于`read.txt`文件中内容为`abcde`,而错误数据`d`,是由于最后一次读取时,只读取一个字节`e`,数组中,上次读取的数据没有被完全**替换**【注意是替换,看下图】,所以要通过`len` ,获取有效的字节 - -![](https://img-blog.csdnimg.cn/20191015160242904.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -代码如下: - -```java -public class FISRead { - public static void main(String[] args) throws IOException{ - // 使用文件名称创建流对象. - FileInputStream fis = new FileInputStream("read.txt"); // 文件中为abcde - // 定义变量,作为有效个数 - int len ; - // 定义字节数组,作为装字节数据的容器 - byte[] b = new byte[2]; - // 循环读取 - while (( len= fis.read(b))!=-1) { - // 每次读取后,把数组的有效字节部分,变成字符串打印 - System.out.println(new String(b,0,len));// len 每次读取的有效字节个数 - } - // 关闭资源 - fis.close(); - } -} - -输出结果: -ab -cd -e -``` - - -在开发中一般强烈推荐使用数组读取文件,代码如下: - -```java -package io; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; - -public class input2 { - public static void main(String args[]){ - FileInputStream inputStream = null; - try { - inputStream = new FileInputStream("a.txt"); - int len = 0 ; - byte[] bys = new byte[1024]; - while ((len = inputStream.read(bys)) != -1) { - System.out.println(new String(bys,0,len)); - } - - } catch (IOException e) { - e.printStackTrace(); - }finally { - try { - inputStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - } -} -``` - - -#### 字节流FileInputstream复制图片 - -**复制图片原理** - -![](https://img-blog.csdnimg.cn/20191013204020152.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -**代码实现** - -复制图片文件,代码如下: - -```java -public class Copy { - public static void main(String[] args) throws IOException { - // 1.创建流对象 - // 1.1 指定数据源 - FileInputStream fis = new FileInputStream("D:\\test.jpg"); - // 1.2 指定目的地 - FileOutputStream fos = new FileOutputStream("test_copy.jpg"); - - // 2.读写数据 - // 2.1 定义数组 - byte[] b = new byte[1024]; - // 2.2 定义长度 - int len; - // 2.3 循环读取 - while ((len = fis.read(b))!=-1) { - // 2.4 写出数据 - fos.write(b, 0 , len); - } - - // 3.关闭资源 - fos.close(); - fis.close(); - } -} -``` - - -**注**:**复制文本、图片、mp3、视频等的方式一样**。 - -到这里,已经从File类讲到了字节流OutputStream与InputStream,而现在将主要从字符流Reader和Writer的故事开展。 - -# 字符流Reader和Writer的故事 - -字符流Reader和Writer的故事从它们的继承图开始,啥都不说了,直接看图 - -![](https://img-blog.csdnimg.cn/20191015171311217.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -# 字符流 - -字符流的由来:因为数据编码的不同,因而有了对字符进行高效操作的流对象,字符流本质其实就是基于字节流读取时,去查了指定的码表,而字节流直接读取数据会有乱码的问题(读中文会乱码),这个时候小白同学就看不懂了,没事,咋们先来看个程序: - -```java -package IO; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; - -public class CharaterStream { - public static void main(String[] args) throws Exception { - //FileInputStream为操作文件的字符输入流 - FileInputStream inputStream = new FileInputStream("a.txt");//内容为哥敢摸屎 - - int len; - while ((len=inputStream.read())!=-1){ - System.out.print((char)len); - } - - } -} -运行结果: ??¥??¢????± -``` - - -具体现状分析 - -![](https://img-blog.csdnimg.cn/20191014113505625.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -话说,就是你哥我敢摸si,那你哥我肯定也不认识这玩意啊: `??¥??¢????±` - -> 字节流读取中文字符时,可能不会显示完整的字符,那是因为一个中文字符占用多个字节存储。 - -那字节流就没办法了吗?不,字节流依旧有办法,只是麻烦了点,代码如下: - -```java -public class CharaterStream { - public static void main(String[] args) throws Exception { - - FileInputStream inputStream = new FileInputStream("a.txt"); - byte[] bytes = new byte[1024]; - int len; - while ((len=inputStream.read(bytes))!=-1){ - System.out.print(new String(bytes,0,len)); - } - } -} -运行结果: 哥敢摸屎 -``` - - -这是为啥呢?没错解码的正是`String`,查看`new String()`的源码,`String`构造方法有解码功能,并且默认编码是`utf-8`,代码如下: - -```java -this.value = StringCoding.decode(bytes, offset, length); - - 再点进decode,循序渐进发现,默认编码是UTF-8 -``` - - -尽管字节流也能有办法决绝乱码问题,但是还是比较麻烦,于是java就有了字符流,`字符为单位`读写数据,字符流`专门用于处理文本`文件。如果处理纯文本的数据优先考虑字符流,其他情况就只能用字节流了(图片、视频、等等`只文本`例外)。 - -> 从另一角度来说:**字符流 = 字节流 + 编码表** - -# 1、 字符输入流(Reader) - -`java.io.Reader`抽象类是**字符输入流**的所有类的**超类**(父类),可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。 - -**字符输入流的共性方法**: - -> 1、`public void close()` :关闭此流并释放与此流相关联的任何系统资源。 -> -> 2、 `public int read()`: 从输入流读取一个字符。 -> -> 3、 `public int read(char[] cbuf)`: 从输入流中读取一些字符,并将它们存储到字符数组 `cbuf`中 - -### FileReader类 - -`java.io.FileReader` 类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。 - -### 构造方法 - -> 1、`FileReader(File file)`: 创建一个新的 FileReader ,给定要读取的**File对象**。 -> -> 2、 `FileReader(String fileName)`: 创建一个新的 FileReader ,给定要读取的文件的**字符串名称**。 - -构造方法的使用就算不写应该都很熟悉了吧,代码如下: - -```java -public class FileReaderConstructor throws IOException{ - public static void main(String[] args) { - // 使用File对象创建流对象 - File file = new File("a.txt"); - FileReader fr = new FileReader(file); - - // 使用文件名称创建流对象 - FileReader fr = new FileReader("b.txt"); - } -} -``` - - -### FileReader读取字符数据 - -1. **读取字符**:`read`方法,每次可以读取一个字符的数据,提升为int类型,读取到文件末尾,返回`-1`,循环读取,代码使用演示: - -```java -public class FRRead { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileReader fr = new FileReader("a.txt"); - // 定义变量,保存数据 - int b ; - // 循环读取 - while ((b = fr.read())!=-1) { - System.out.println((char)b); - } - // 关闭资源 - fr.close(); - } -} -``` - - -至于读取的写法类似字节流的写法,只是读取单位不同罢了。 - -# 2、字符输出流(Writer) - -`java.io.Writer` 抽象类是**字符输出流**的所有类的**超类**(父类),将指定的字符信息写出到目的地。它同样定义了字符输出流的基本共性功能方法。 - -**字符输出流的基本共性功能方法**: - -> 1、`void write(int c)` 写入单个字符。 -> -> 2、`void write(char[] cbuf)` 写入字符数组。 -> -> 3、 `abstract void write(char[] cbuf, int off, int len)` 写入字符数组的某一部分,off数组的开始索引,len写的字符个数。 -> -> 4、 `void write(String str)` 写入字符串。 -> -> 5、`void write(String str, int off, int len)` 写入字符串的某一部分,off字符串的开始索引,len写的字符个数。 -> -> 6、`void flush()` 刷新该流的缓冲。 -> -> 7、`void close()` 关闭此流,但要先刷新它。 - -## FileWriter类 - -`java.io.FileWriter` 类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。 - -### 构造方法 - -1、 `FileWriter(File file)`: 创建一个新的 FileWriter,给定要读取的File对象。 - -2、`FileWriter(String fileName)`: 创建一个新的 FileWriter,给定要读取的文件的名称。 - -依旧是熟悉的构造举例,代码如下: - -```java -public class FileWriterConstructor { - public static void main(String[] args) throws IOException { - // 第一种:使用File对象创建流对象 - File file = new File("a.txt"); - FileWriter fw = new FileWriter(file); - - // 第二种:使用文件名称创建流对象 - FileWriter fw = new FileWriter("b.txt"); - } -} -``` - - -### FileWriter写出数据 - -**写出字符**:`write(int b)` 方法,每次可以写出一个字符数据,代码使用演示: - -```java -public class FWWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileWriter fw = new FileWriter("fw.txt"); - // 写出数据 - fw.write(97); // 写出第1个字符 - fw.write('b'); // 写出第2个字符 - fw.write('C'); // 写出第3个字符 - - //关闭资源时,与FileOutputStream不同。 如果不关闭,数据只是保存到缓冲区,并未保存到文件。 - // fw.close(); - } -} -输出结果: -abC -``` - - -> 【注意】**关闭资源时,与FileOutputStream不同。 如果不关闭,数据只是保存到缓冲区,并未保存到文件。** - -### 关闭close和刷新flush - -因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中。但是关闭的流对象,是无法继续写出数据的。如果我们既想写出数据,又想继续使用流,就需要`flush` 方法了。 - -`flush` :刷新缓冲区,流对象可以继续使用。 - -`close` :先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。 - -flush还是比较有趣的,童鞋们不自己运行一下还真不好体会,现在博主就写个程序让你体会体会: - -字符流 - -```java -public class FlushDemo { - public static void main(String[] args) throws Exception { - //源 也就是输入流【读取流】 读取a.txt文件 - FileReader fr=new FileReader("a.txt"); //必须要存在a.txt文件,否则报FileNotFoundException异常 - //目的地 也就是输出流 - FileWriter fw=new FileWriter("b.txt"); //系统会自动创建b.txt,因为它是输出流! - int len; - while((len=fr.read())!=-1){ - fw.write(len); - } - 注意这里是没有使用close关闭流,开发中不能这样做,但是为了更好的体会flush的作用 - } -} -``` - - -![](https://img-blog.csdnimg.cn/20191014222100212.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -运行效果是怎么样的呢?答案是b.txt文件中依旧是空的,是的并没有任何东西,为啥呢?熊dei啊,我在上面就用红色字体特别标注过了,就是这句话: 【注意】**关闭资源时,与FileOutputStream不同。 如果不关闭,数据只是保存到缓冲区,并未保存到文件。**这个时候反应过来了吧,可见实践例子的重要性,**编程就是这样,不去敲,永远学不会**!!!所以一定要去敲,博主没敲过10万行代码真的没有脸出去说自己是学java的。所以,大家一定要多思考,多敲啊!!! - -所以,我们在以上的代码中再添加下面三句代码,就完美了,b.txt文件就能复制到源文件的数据了! - - -```java -fr.close(); - fw.flush(); - fw.close(); -``` - - -> `flush()`这个函数是清空的意思,用于清空缓冲区的数据流,进行流的操作时,数据先被读到内存中,然后再用数据写到文件中,那么当你数据读完时,我们如果这时调用`close()`方法关闭读写流,这时就可能造成数据丢失,为什么呢?因为,读入数据完成时不代表写入数据完成,一部分数据可能会留在缓存区中,这个时候`flush()`方法就格外重要了。 - -好了,接下来close使用代码如下: - -```java -public class FWWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象 - FileWriter fw = new FileWriter("fw.txt"); - // 写出数据,通过flush - fw.write('刷'); // 写出第1个字符 - fw.flush(); - fw.write('新'); // 继续写出第2个字符,写出成功 - fw.flush(); - - // 写出数据,通过close - fw.write('关'); // 写出第1个字符 - fw.close(); - fw.write('闭'); // 继续写出第2个字符,【报错】java.io.IOException: Stream closed - fw.close(); - } -} -``` - - -> 即便是flush方法写出了数据,操作的最后还是要调用close方法,释放系统资源。 - -### FileWriter的续写和换行 - -**续写和换行**:操作类似于FileOutputStream操作(上一篇博客讲到过),直接上代码: - -```java -public class FWWrite { - public static void main(String[] args) throws IOException { - // 使用文件名称创建流对象,可以续写数据 - FileWriter fw = new FileWriter("fw.txt",true); - // 写出字符串 - fw.write("哥敢"); - // 写出换行 - fw.write("\r\n"); - // 写出字符串 - fw.write("摸屎"); - // 关闭资源 - fw.close(); - } -} -输出结果: -哥敢 -摸屎 -``` - - -### FileReader和FileWriter类完成文本文件复制 - -直接上代码: - -```java -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; - -public class CopyFile { - public static void main(String[] args) throws IOException { - //创建输入流对象 - FileReader fr=new FileReader("F:\\新建文件夹\\aa.txt");//文件不存在会抛出java.io.FileNotFoundException - //创建输出流对象 - FileWriter fw=new FileWriter("C:\\copyaa.txt"); - /*创建输出流做的工作: - * 1、调用系统资源创建了一个文件 - * 2、创建输出流对象 - * 3、把输出流对象指向文件 - * */ - //文本文件复制,一次读一个字符 - copyMethod1(fr, fw); - //文本文件复制,一次读一个字符数组 - copyMethod2(fr, fw); - - fr.close(); - fw.close(); - } - - public static void copyMethod1(FileReader fr, FileWriter fw) throws IOException { - int ch; - while((ch=fr.read())!=-1) {//读数据 - fw.write(ch);//写数据 - } - fw.flush(); - } - - public static void copyMethod2(FileReader fr, FileWriter fw) throws IOException { - char chs[]=new char[1024]; - int len=0; - while((len=fr.read(chs))!=-1) {//读数据 - fw.write(chs,0,len);//写数据 - } - fw.flush(); - } -} - -CopyFile -``` - - -![](https://img-blog.csdnimg.cn/20191014213256773.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -> **最后再次强调: -> -> 字符流,只能操作文本文件,不能操作图片,视频等非文本文件。当我们单纯读或者写文本文件时 使用字符流 其他情况使用字节流** - -### IO异常的处理 - -我们在学习的过程中可能习惯把异常抛出,而实际开发中并不能这样处理,建议使用`try...catch...finally` 代码块,处理异常部分,格式代码如下: - -```java -public class HandleException1 { - public static void main(String[] args) { - // 声明变量 - FileWriter fw = null; - try { - //创建流对象 - fw = new FileWriter("fw.txt"); - // 写出数据 - fw.write("哥敢摸si"); //哥敢摸si - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - if (fw != null) { - fw.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - } -} -``` - - -如果对异常不是特别熟练的童鞋可以参考这篇文章[【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!](https://blog.csdn.net/qq_44543508/article/details/102211261) - -好了,到这里,字符流Reader和Writer的故事的到这里了! - -前面主要写了一些基本的流作为IO流的入门。从这里开始将要见识一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等,而这些强大的流都是在基本的流对象基础之上而来的!这些强大的流将伴随着我们今后的开发! - -# 1、缓冲流【掌握】 - -## 1.1 简要概述 - -首先我们来认识认识一下缓冲流,也叫高效流,是对4个`FileXxx` 流的“增强流”。 - -**缓冲流的基本原理**: - -> 1、使用了底层流对象从具体设备上获取数据,并将数据存储到缓冲区的数组内。 -> -> 2、通过缓冲区的read()方法从缓冲区获取具体的字符数据,这样就提高了效率。 -> -> 3、如果用read方法读取字符数据,并存储到另一个容器中,直到读取到了换行符时,将另一个容器临时存储的数据转成字符串返回,就形成了readLine()功能。 - -也就是说在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。 - -缓冲书写格式为`BufferedXxx`,按照数据类型分类: - -* **字节缓冲流**:`BufferedInputStream`,`BufferedOutputStream` -* **字符缓冲流**:`BufferedReader`,`BufferedWriter` - -## 1.2 字节缓冲流 - -### 构造方法 - -* `public BufferedInputStream(InputStream in)` :创建一个新的缓冲输入流,注意参数类型为**InputStream**。 -* `public BufferedOutputStream(OutputStream out)`: 创建一个新的缓冲输出流,注意参数类型为**OutputStream**。 - -构造举例代码如下: - -```java -//构造方式一: 创建字节缓冲输入流【但是开发中一般常用下面的格式申明】 -FileInputStream fps = new FileInputStream(b.txt); -BufferedInputStream bis = new BufferedInputStream(fps) - -//构造方式一: 创建字节缓冲输入流 -BufferedInputStream bis = new BufferedInputStream(new FileInputStream("b.txt")); - -///构造方式二: 创建字节缓冲输出流 -BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt")); -``` - - -### 感受缓冲流的高效 - -缓冲流读写方法与基本的流是一致的,我们通过复制370多MB的大文件,测试它的效率。 - -1. 基本流,代码如下: - -```java -public class BufferedDemo { - public static void main(String[] args) throws FileNotFoundException { - // 记录开始时间 - long start = System.currentTimeMillis(); - // 创建流对象 - try ( - FileInputStream fis = new FileInputStream("py.exe");//exe文件够大 - FileOutputStream fos = new FileOutputStream("copyPy.exe") - ){ - // 读写数据 - int b; - while ((b = fis.read()) != -1) { - fos.write(b); - } - } catch (IOException e) { - e.printStackTrace(); - } - // 记录结束时间 - long end = System.currentTimeMillis(); - System.out.println("普通流复制时间:"+(end - start)+" 毫秒"); - } -} -不好意思十分钟过去了还在玩命复制中... -``` - - -2. 缓冲流,代码如下: - -```java -public class BufferedDemo { - public static void main(String[] args) throws FileNotFoundException { - // 记录开始时间 - long start = System.currentTimeMillis(); - // 创建流对象 - try ( - BufferedInputStream bis = new BufferedInputStream(new FileInputStream("py.exe")); - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("copyPy.exe")); - ){ - // 读写数据 - int b; - while ((b = bis.read()) != -1) { - bos.write(b); - } - } catch (IOException e) { - e.printStackTrace(); - } - // 记录结束时间 - long end = System.currentTimeMillis(); - System.out.println("缓冲流复制时间:"+(end - start)+" 毫秒"); - } -} - -缓冲流复制时间:8016 毫秒 -``` - - -有的童鞋就要说了,我要更快的速度!最近看速度与激情7有点上头,能不能再快些?答案是当然可以 - -想要更快可以使用数组的方式,代码如下: - -```java -public class BufferedDemo { - public static void main(String[] args) throws FileNotFoundException { - // 记录开始时间 - long start = System.currentTimeMillis(); - // 创建流对象 - try ( - BufferedInputStream bis = new BufferedInputStream(new FileInputStream("py.exe")); - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("copyPy.exe")); - ){ - // 读写数据 - int len; - byte[] bytes = new byte[8*1024]; - while ((len = bis.read(bytes)) != -1) { - bos.write(bytes, 0 , len); - } - } catch (IOException e) { - e.printStackTrace(); - } - // 记录结束时间 - long end = System.currentTimeMillis(); - System.out.println("缓冲流使用数组复制时间:"+(end - start)+" 毫秒"); - } -} -缓冲流使用数组复制时间:521 毫秒 -``` - - -## 1.3 字符缓冲流 - -### 构造方法 - -相同的来看看其构造,其格式以及原理和字节缓冲流是一样一样的! - -* `public BufferedReader(Reader in)` :创建一个新的缓冲输入流,注意参数类型为**Reader**。 -* `public BufferedWriter(Writer out)`: 创建一个新的缓冲输出流,注意参数类型为**Writer**。 - -构造举例,代码如下: - -```java -// 创建字符缓冲输入流 -BufferedReader br = new BufferedReader(new FileReader("b.txt")); -// 创建字符缓冲输出流 -BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt")); -``` - - -### 字符缓冲流特有方法 - -字符缓冲流的基本方法与普通字符流调用方式一致,这里不再阐述,我们来看字符缓冲流具备的**特有**方法。 - -* BufferedReader:`public String readLine()`: **读一行数据**。 读取到最后返回null -* BufferedWriter:`public void newLine()`: **换行**,由系统属性定义符号。 - -`readLine`方法演示代码如下: - -```java -public class BufferedReaderDemo { - public static void main(String[] args) throws IOException { - // 创建流对象 - BufferedReader br = new BufferedReader(new FileReader("a.txt")); - // 定义字符串,保存读取的一行文字 - String line = null; - // 循环读取,读取到最后返回null - while ((line = br.readLine())!=null) { - System.out.print(line); - System.out.println("------"); - } - // 释放资源 - br.close(); - } -} -``` - - -`newLine`方法演示代码如下: - -```java -public class BufferedWriterDemo throws IOException { - public static void main(String[] args) throws IOException { - // 创建流对象 - BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt")); - // 写出数据 - bw.write("哥"); - // 写出换行 - bw.newLine(); - bw.write("敢"); - bw.newLine(); - bw.write("摸屎"); - bw.newLine(); - bw.write("你敢吗?"); - bw.newLine(); - // 释放资源 - bw.close(); - } -} -输出效果: -哥 -敢 -摸屎 -你敢吗? -``` - - -## 1.4 字符缓冲流练习 - -字符缓冲流练习啥捏?先放松一下吧各位,先欣赏欣赏我写的下面的诗篇 - -> 6.你说你的程序叫简单,我说我的代码叫诗篇 -> -> 1.一想到你我就哦豁豁豁豁豁豁豁豁豁豁....哦nima个头啊,完全不理人家受得了受不了 -> -> 8.Just 简单你和我 ,Just 简单程序员 -> -> 3.约了地点却忘了见面 ,懂得寂寞才明白浩瀚 -> -> 5.沉默是最大的发言权 -> -> 2.总是喜欢坐在电脑前, 总是喜欢工作到很晚 -> -> 7.向左走 又向右走,我们转了好多的弯 -> -> 4.你从来就不问我,你还是不是那个程序员 - -欣赏完了咩?没错咋们就练习如何使用缓冲流的技术把上面的诗篇归顺序,都编过号了就是前面的1到8的编号 - -分析:首先用字符输入缓冲流创建个源,里面放没有排过序的文字,之后用字符输出缓冲流创建个目标接收,排序的过程就要自己写方法了哦,可以从每条诗词的共同点“.”符号下手! - -### 代码实现 - -```java -public class BufferedTest { - public static void main(String[] args) throws IOException { - // 创建map集合,保存文本数据,键为序号,值为文字 - HashMap lineMap = new HashMap<>(); - - // 创建流对象 源 - BufferedReader br = new BufferedReader(new FileReader("a.txt")); - //目标 - BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt")); - - // 读取数据 - String line = null; - while ((line = br.readLine())!=null) { - // 解析文本 - String[] split = line.split("\\."); - // 保存到集合 - lineMap.put(split[0],split[1]); - } - // 释放资源 - br.close(); - - // 遍历map集合 - for (int i = 1; i <= lineMap.size(); i++) { - String key = String.valueOf(i); - // 获取map中文本 - String value = lineMap.get(key); - // 写出拼接文本 - bw.write(key+"."+value); - // 写出换行 - bw.newLine(); - } - // 释放资源 - bw.close(); - } -} -``` - - -运行效果 - -```java -1.一想到你我就哦豁豁豁豁豁豁豁豁豁豁…哦nima个头啊,完全不理人家受得了受不了 -2.总是喜欢坐在电脑前, 总是喜欢工作到很晚 -3.约了地点却忘了见面 ,懂得寂寞才明白浩瀚 -4.你从来就不问我,你还是不是那个程序员 -5.沉默是最大的发言权 -6.你说你的程序叫简单,我说我的代码叫诗篇 -7.向左走 又向右走,我们转了好多的弯 -8.Just 简单你和我 ,Just 简单程序员 -``` - - -# 2、转换流【掌握】 - -何谓转换流?为何由来?暂时带着问题让我们先来了解了解字符编码和字符集! - -![](https://img-blog.csdnimg.cn/2019101609401732.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -### 2.1 字符编码与解码 - -众所周知,计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为**编码** 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为**解码** 。比如说,按照`A`规则存储,同样按照`A`规则解析,那么就能显示正确的文本符号。反之,按照`A`规则存储,再按照`B`规则解析,就会导致乱码现象。 - -简单一点的说就是: - -> 编码:字符(能看懂的)--字节(看不懂的) -> -> 解码:字节(看不懂的)-->字符(能看懂的) - -代码解释则是 - -```java -String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组 -byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组 - -编码:把看得懂的变成看不懂的 -String -- byte[] - -解码:把看不懂的变成看得懂的 -byte[] -- String -``` - - -* **字符编码** `Character Encoding`: 就是一套自然语言的字符与二进制数之间的对应规则。 - -而**编码表**则是生活中文字和计算机中二进制的对应规则 - -### 字符集 - -* **字符集** `Charset`:也叫**编码表**。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。 - -计算机要准确的存储和识别各种字符集符号,需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有`ASCII`字符集、`GBK`字符集、`Unicode`字符集等。 - -![](https://img-blog.csdnimg.cn/20191016090127127.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -可见,当指定了**编码**,它所对应的**字符集**自然就指定了,所以**编码**才是我们最终要关心的。 - -* **ASCII字符集** : -* ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,用于显示现代英语,主要包括控制字符(回车键、退格、换行键等)和可显示字符(英文大小写字符、阿拉伯数字和西文符号)。 -* 基本的ASCII字符集,使用7位(bits)表示一个字符,共128字符。ASCII的扩展字符集使用8位(bits)表示一个字符,共256字符,方便支持欧洲常用字符。 -* **ISO-8859-1字符集**: -* 拉丁码表,别名Latin-1,用于显示欧洲使用的语言,包括荷兰、丹麦、德语、意大利语、西班牙语等。 -* ISO-8859-1使用单字节编码,兼容ASCII编码。 -* **GBxxx字符集**: -* GB就是国标的意思,是为了显示中文而设计的一套字符集。 -* **GB2312**:简体中文码表。一个小于127的字符的意义与原来相同。但两个大于127的字符连在一起时,就表示一个汉字,这样大约可以组合了包含7000多个简体汉字,此外数学符号、罗马希腊的字母、日文的假名们都编进去了,连在ASCII里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符了。 -* **GBK**:最常用的中文码表。是在GB2312标准基础上的扩展规范,使用了双字节编码方案,共收录了21003个汉字,完全兼容GB2312标准,同时支持繁体汉字以及日韩汉字等。 -* **GB18030**:最新的中文码表。收录汉字70244个,采用多字节编码,每个字可以由1个、2个或4个字节组成。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等。 -* **Unicode字符集** : -* Unicode编码系统为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码、标准万国码。 -* 它最多使用4个字节的数字来表达每个字母、符号,或者文字。有三种编码方案,UTF-8、UTF-16和UTF-32。最为常用的UTF-8编码。 -* UTF-8编码,可以用来表示Unicode标准中任何字符,它是电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。所以,我们开发Web应用,也要使用UTF-8编码。它使用一至四个字节为每个字符编码,编码规则: -1. 128个US-ASCII字符,只需一个字节编码。 -2. 拉丁文等字符,需要二个字节编码。 -3. 大部分常用字(含中文),使用三个字节编码。 -4. 其他极少使用的Unicode辅助字符,使用四字节编码。 - -## 2.2 编码问题导致乱码 - -在java开发工具IDEA中,使用`FileReader` 读取项目中的文本文件。由于IDEA的设置,都是默认的`UTF-8`编码,所以没有任何问题。但是,当读取Windows系统中创建的文本文件时,由于Windows系统的默认是GBK编码,就会出现乱码。 - -```java -public class ReaderDemo { - public static void main(String[] args) throws IOException { - FileReader fileReader = new FileReader("C:\\a.txt"); - int read; - while ((read = fileReader.read()) != -1) { - System.out.print((char)read); - } - fileReader.close(); - } -} -输出结果:��� -``` - - -那么如何读取GBK编码的文件呢? 这个时候就得讲讲转换流了! - -> 从另一角度来讲:**字符流=字节流+编码表** - -## 2.3 InputStreamReader类-----(字节流到字符流的桥梁) - -转换流`java.io.InputStreamReader`,是`Reader`的子类,从字面意思可以看出它是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。 - -### 构造方法 - -> `InputStreamReader(InputStream in)`: 创建一个使用默认字符集的字符流。 -> -> `InputStreamReader(InputStream in, String charsetName)`: 创建一个指定字符集的字符流。 - -构造代码如下: - -```java -InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt")); -InputStreamReader isr2 = new InputStreamReader(new FileInputStream("in.txt") , "GBK"); -``` - - -### 使用转换流解决编码问题 - -```java -public class ReaderDemo2 { - public static void main(String[] args) throws IOException { - // 定义文件路径,文件为gbk编码 - String FileName = "C:\\A.txt"; - // 创建流对象,默认UTF8编码 - InputStreamReader isr = new InputStreamReader(new FileInputStream(FileName)); - // 创建流对象,指定GBK编码 - InputStreamReader isr2 = new InputStreamReader(new FileInputStream(FileName) , "GBK"); - // 定义变量,保存字符 - int read; - // 使用默认编码字符流读取,乱码 - while ((read = isr.read()) != -1) { - System.out.print((char)read); // �����ʺ - } - isr.close(); - - // 使用指定编码字符流读取,正常解析 - while ((read = isr2.read()) != -1) { - System.out.print((char)read);// 哥敢摸屎 - } - isr2.close(); - } -} -``` - - -## 2.4 OutputStreamWriter类-----(字符流到字节流的桥梁) - -转换流`java.io.OutputStreamWriter` ,是Writer的子类,字面看容易混淆会误以为是转为字符流,其实不然,OutputStreamWriter为从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。 - -### 构造方法 - -> `OutputStreamWriter(OutputStream in)`: 创建一个使用默认字符集的字符流。 -> -> `OutputStreamWriter(OutputStream in, String charsetName)`: 创建一个指定字符集的字符流。 - -构造举例,代码如下: - -```java -OutputStreamWriter isr = new OutputStreamWriter(new FileOutputStream("a.txt")); -OutputStreamWriter isr2 = new OutputStreamWriter(new FileOutputStream("b.txt") , "GBK"); -``` - - -### 指定编码构造代码 - -```java -public class OutputDemo { - public static void main(String[] args) throws IOException { - // 定义文件路径 - String FileName = "C:\\s.txt"; - // 创建流对象,默认UTF8编码 - OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(FileName)); - // 写出数据 - osw.write("哥敢"); // 保存为6个字节 - osw.close(); - - // 定义文件路径 - String FileName2 = "D:\\A.txt"; - // 创建流对象,指定GBK编码 - OutputStreamWriter osw2 = new OutputStreamWriter(new FileOutputStream(FileName2),"GBK"); - // 写出数据 - osw2.write("摸屎");// 保存为4个字节 - osw2.close(); - } -} -``` - - -![](https://img-blog.csdnimg.cn/20191016100612927.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - - - -为了达到**最高效率**,可以考虑在 `BufferedReader` 内包装 `InputStreamReader` - -```java -BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); -``` - - -# 3、序列化流【理解】 - -> (1)可以把对象写入文本文件或者在网络中传输 -> -> (2)如何实现序列化呢? -> -> 让被序列化的对象所属类实现序列化接口。 -> -> 该接口是一个标记接口。没有功能需要实现。 -> -> (3)注意问题: -> -> 把数据写到文件后,在去修改类会产生一个问题。 -> -> 如何解决该问题呢? -> -> 在类文件中,给出一个固定的序列化id值。 -> -> 而且,这样也可以解决黄色警告线问题 -> -> (4)面试题: -> -> 什么时候序列化? -> -> 如何实现序列化? -> -> 什么是反序列化? - -## 3.1 何谓序列化 - -Java 提供了一种对象**序列化**的机制。用一个字节序列可以表示一个对象,该字节序列包含该`对象的数据`、`对象的类型`和`对象中存储的属性`等信息。字节序列写出到文件之后,相当于文件中**持久保存**了一个对象的信息。 - -反之,该字节序列还可以从文件中读取回来,重构对象,对它进行**反序列化**。`对象的数据`、`对象的类型`和`对象中存储的数据`信息,都可以用来在内存中创建对象。看图理解序列化: - -![](https://img-blog.csdnimg.cn/20191016100818120.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - -## 3.2 ObjectOutputStream类 - -`java.io.ObjectOutputStream` 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。 - -### 构造方法 - -`public ObjectOutputStream(OutputStream out)` : 创建一个指定OutputStream的ObjectOutputStream。 - -构造代码如下: - -```java -FileOutputStream fileOut = new FileOutputStream("aa.txt"); -ObjectOutputStream out = new ObjectOutputStream(fileOut); -``` - - -### 序列化操作 - -1. 一个对象要想序列化,必须满足两个条件: - -该类必须实现`java.io.Serializable` 接口,`Serializable` 是一个标记接口,不实现此接口的类将不会使任何状态序列化或反序列化,会抛出`NotSerializableException` 。 - -该类的所有属性必须是可序列化的。如果有一个属性不需要可序列化的,则该属性必须注明是瞬态的,使用`transient` 关键字修饰。 - -```java -public class Employee implements java.io.Serializable { - public String name; - public String address; - public transient int age; // transient瞬态修饰成员,不会被序列化 - public void addressCheck() { - System.out.println("Address check : " + name + " -- " + address); - } -} -``` - - -2.写出对象方法 - -`public final void writeObject (Object obj)` : 将指定的对象写出。 - -```java -public class SerializeDemo{ - public static void main(String [] args) { - Employee e = new Employee(); - e.name = "zhangsan"; - e.address = "beiqinglu"; - e.age = 20; - try { - // 创建序列化流对象 - ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.txt")); - // 写出对象 - out.writeObject(e); - // 释放资源 - out.close(); - fileOut.close(); - System.out.println("Serialized data is saved"); // 姓名,地址被序列化,年龄没有被序列化。 - } catch(IOException i) { - i.printStackTrace(); - } - } -} -输出结果: -Serialized data is saved -``` - - -## 3.3 ObjectInputStream类 - -ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象。 - -### 构造方法 - -`public ObjectInputStream(InputStream in)` : 创建一个指定InputStream的ObjectInputStream。 - -### 反序列化操作1 - -如果能找到一个对象的class文件,我们可以进行反序列化操作,调用`ObjectInputStream`读取对象的方法: - -* `public final Object readObject ()` : 读取一个对象。 - -```java -public class DeserializeDemo { - public static void main(String [] args) { - Employee e = null; - try { - // 创建反序列化流 - FileInputStream fileIn = new FileInputStream("employee.txt"); - ObjectInputStream in = new ObjectInputStream(fileIn); - // 读取一个对象 - e = (Employee) in.readObject(); - // 释放资源 - in.close(); - fileIn.close(); - }catch(IOException i) { - // 捕获其他异常 - i.printStackTrace(); - return; - }catch(ClassNotFoundException c) { - // 捕获类找不到异常 - System.out.println("Employee class not found"); - c.printStackTrace(); - return; - } - // 无异常,直接打印输出 - System.out.println("Name: " + e.name); // zhangsan - System.out.println("Address: " + e.address); // beiqinglu - System.out.println("age: " + e.age); // 0 - } -} -``` - - -**对于JVM可以反序列化对象,它必须是能够找到class文件的类。如果找不到该类的class文件,则抛出一个 `ClassNotFoundException` 异常。** - -### 反序列化操作2 - -另外,当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个`InvalidClassException`异常。发生这个异常的原因如下: - -> 1、该类的序列版本号与从流中读取的类描述符的版本号不匹配 -> -> 2、该类包含未知数据类型 -> -> 2、该类没有可访问的无参数构造方法 - -`Serializable` 接口给需要序列化的类,提供了一个序列版本号。`serialVersionUID` 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。 - -```java -public class Employee implements java.io.Serializable { - // 加入序列版本号 - private static final long serialVersionUID = 1L; - public String name; - public String address; - // 添加新的属性 ,重新编译, 可以反序列化,该属性赋为默认值. - public int eid; - - public void addressCheck() { - System.out.println("Address check : " + name + " -- " + address); - } -} -``` - - -## 3.4 序列化集合练习 - -1. 将存有多个自定义对象的集合序列化操作,保存到`list.txt`文件中。 -2. 反序列化`list.txt` ,并遍历集合,打印对象信息。 - -### 案例分析 - -1. 把若干学生对象 ,保存到集合中。 -2. 把集合序列化。 -3. 反序列化读取时,只需要读取一次,转换为集合类型。 -4. 遍历集合,可以打印所有的学生信息 - -### 案例代码实现 - -```java -public class SerTest { - public static void main(String[] args) throws Exception { - // 创建 学生对象 - Student student = new Student("老王", "laow"); - Student student2 = new Student("老张", "laoz"); - Student student3 = new Student("老李", "laol"); - - ArrayList arrayList = new ArrayList<>(); - arrayList.add(student); - arrayList.add(student2); - arrayList.add(student3); - // 序列化操作 - // serializ(arrayList); - - // 反序列化 - ObjectInputStream ois = new ObjectInputStream(new FileInputStream("list.txt")); - // 读取对象,强转为ArrayList类型 - ArrayList list = (ArrayList)ois.readObject(); - - for (int i = 0; i < list.size(); i++ ){ - Student s = list.get(i); - System.out.println(s.getName()+"--"+ s.getPwd()); - } - } - - private static void serializ(ArrayList arrayList) throws Exception { - // 创建 序列化流 - ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("list.txt")); - // 写出对象 - oos.writeObject(arrayList); - // 释放资源 - oos.close(); - } -} -``` - - -# 4、打印流【掌握】 - -## 4.1 何谓打印流 - -平时我们在控制台打印输出,是调用`print`方法和`println`方法完成的,各位用了这么久的输出语句肯定没想过这两个方法都来自于`java.io.PrintStream`类吧,哈哈。该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。 - -**打印流分类**: - -> 字节打印流PrintStream,字符打印流PrintWriter - -**打印流特点**: - -> A:只操作目的地,不操作数据源 -> -> B:可以操作任意类型的数据 -> -> C:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新 -> -> D:可以直接操作文件 - -这个时候有同学就要问了,哪些流可以直接操作文件呢?答案很简单,**如果该流的构造方法能够同时接收File和String类型的参数,一般都是可以直接操作文件的**! - -PrintStream是OutputStream的子类,PrintWriter是Writer的子类,两者处于对等的位置上,所以它们的API是非常相似的。二者区别无非一个是字节打印流,一个是字符打印流。 - -## 4.2 字节输出打印流PrintStream复制文本文件 - -```java -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.io.PrintStream; - -public class PrintStreamDemo { - public static void main(String[] args) throws IOException { - BufferedReader br=new BufferedReader(new FileReader("copy.txt")); - PrintStream ps=new PrintStream("printcopy.txt"); - String line; - while((line=br.readLine())!=null) { - ps.println(line); - } - br.close(); - ps.close(); - } -} -``` - - -## 4.3 字符输出打印流PrintWriter复制文本文件 - -```java -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -/** - * 使用打印流复制文本文件 - */ -public class PrintWriterDemo { - public static void main(String[] args) throws IOException { - BufferedReader br=new BufferedReader(new FileReader("aa.txt")); - PrintWriter pw=new PrintWriter("printcopyaa.txt"); - String line; - while((line=br.readLine())!=null) { - pw.println(line); - } - br.close(); - pw.close(); - } -} -``` - - -# 5、Properties属性类 - -我想各位对这个Properties类多多少少也接触过了,首先Properties类并不在IO包下,那为啥要和IO流一起讲呢?原因很简单因为properties类经常和io流的联合一起使用。 - -> (1)是一个集合类,Hashtable的子类 -> -> (2)特有功能 -> -> A:public Object setProperty(String key,String value) -> -> B:public String getProperty(String key) -> -> C:public Set stringPropertyNames() -> -> (3)和IO流结合的方法 -> -> 把键值对形式的文本文件内容加载到集合中 -> -> public void load(Reader reader) -> -> public void load(InputStream inStream) -> -> 把集合中的数据存储到文本文件中 -> -> public void store(Writer writer,String comments) -> -> public void store(OutputStream out,String comments) - -## 5.1 Properties概述 - -`java.util.Properties` 继承于 `Hashtable` ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,`System.getProperties` 方法就是返回一个`Properties`对象。 - -## 5.2 Properties类 - -### 构造方法 - -`public Properties()` :创建一个空的属性列表。 - -### 基本的存储方法 - -* `public Object setProperty(String key, String value)` : 保存一对属性。 -* `public String getProperty(String key)` :使用此属性列表中指定的键搜索属性值。 -* `public Set stringPropertyNames()` :所有键的名称的集合。 - -```java -public class ProDemo { - public static void main(String[] args) throws FileNotFoundException { - // 创建属性集对象 - Properties properties = new Properties(); - // 添加键值对元素 - properties.setProperty("filename", "a.txt"); - properties.setProperty("length", "209385038"); - properties.setProperty("location", "D:\\a.txt"); - // 打印属性集对象 - System.out.println(properties); - // 通过键,获取属性值 - System.out.println(properties.getProperty("filename")); - System.out.println(properties.getProperty("length")); - System.out.println(properties.getProperty("location")); - - // 遍历属性集,获取所有键的集合 - Set strings = properties.stringPropertyNames(); - // 打印键值对 - for (String key : strings ) { - System.out.println(key+" -- "+properties.getProperty(key)); - } - } -} -输出结果: -{filename=a.txt, length=209385038, location=D:\a.txt} -a.txt -209385038 -D:\a.txt -filename -- a.txt -length -- 209385038 -location -- D:\a.txt -``` - - -### 与流相关的方法 - -`public void load(InputStream inStream)`: 从字节输入流中读取键值对。 - -参数中使用了字节输入流,通过流对象,可以关联到某文件上,这样就能够加载文本中的数据了。现在文本数据格式如下: - -```java -filename=Properties.txt -length=123 -location=C:\Properties.txt -``` - - -加载代码演示: - -```java -public class ProDemo { - public static void main(String[] args) throws FileNotFoundException { - // 创建属性集对象 - Properties pro = new Properties(); - // 加载文本中信息到属性集 - pro.load(new FileInputStream("Properties.txt")); - // 遍历集合并打印 - Set strings = pro.stringPropertyNames(); - for (String key : strings ) { - System.out.println(key+" -- "+pro.getProperty(key)); - } - } -} -输出结果: -filename -- Properties.txt -length -- 123 -location -- C:\Properties.txt -``` - - -> 文本中的数据,必须是键值对形式,可以使用空格、等号、冒号等符号分隔。 - -怎么说呢,io流的基础回顾就先告一段落了,浅尝辄止。循序渐进,实践中慢慢总结!更何况我还很low,依旧任重而道远。 - -**现在jdk已经出到13了,io流也有了许多的变化。有时间会从头整理一下,一定会有机会的!** - -最后,欢迎各位关注我的公众号,一起探讨技术,向往技术,追求技术... - -![](https://img-blog.csdnimg.cn/20191028085725979.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTQzNTA4,size_16,color_FFFFFF,t_70) - ->参考链接:[https://www.cnblogs.com/yichunguo/p/11775270.html](https://www.cnblogs.com/yichunguo/p/11775270.html),整理:沉默王二 diff --git a/images/io/Serializbale-7a9a05f6-a65c-46b0-b4d7-8b619297f351.jpg b/images/io/Serializbale-7a9a05f6-a65c-46b0-b4d7-8b619297f351.jpg new file mode 100644 index 0000000000000000000000000000000000000000..caaac5204410874850951d74c0a2eeb6bd047a2b GIT binary patch literal 26985 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 z%0A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 S7XW^tM5U)=q+Nc=F6=)+oVe!z literal 0 HcmV?d00001 diff --git a/images/io/buffer-fcae80c2-04a5-4a1b-ab49-89a5ddabd38e.png b/images/io/buffer-fcae80c2-04a5-4a1b-ab49-89a5ddabd38e.png new file mode 100644 index 0000000000000000000000000000000000000000..6c49752679a15d8840f23f7bc70f609bb190e817 GIT binary patch literal 57652 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 z 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