-
字符流解析: InputStreamReader 完成byte流解析为char流,按照编码解析。 OutputStreamWriter 提供char流处理为byte流,按照编码处理。查看全部
-
字符流读写时应当按照规范指定编码方式,如果不指定,则默认为项目编码。查看全部
-
BufferedInputStream、BufferedOutputStream使用缓冲区来进行数据写入写出操作,提高性能。对比其他方式输入输出: FileInputStream/FileOutputStream 每次一个字节的读写 DataInputStream/DataOutputStream 每次一个类型数据的读写。如:一次写入一个int类型的数据,相当于一次写入四个字节。 BufferedInputStream/BufferedOutputStream 每次读写一个缓冲区大小的数据。每次写入时必须调用实例的flush()方法来清空缓冲区。 读写效率对比:使用字节数组作为缓冲的流 > 使用原生缓冲的流 > 不使用缓冲的流查看全部
-
DataOutputStream/DataInputStream 对"流"功能的扩展,可以更加方面的读取int,long,字符等类型数据 DataOutputStream writeInt()/writeDouble()/writeUTF() 其新建对象为嵌套创建,例: String file = "xxx"; DataInputStream dis = new DataInputStream(new FileInputStream(file)); DataOutputStream dos = new DataOutputStream(new FileOutputStream(file)); 而且writeUTF()和readUTF()都是utf-8编码格式 writeChars()和readChars()都是utf-16be编码格式查看全部
-
父类实现序列化接口,其所有子类均无需再实现序列化接口也能被序列化。查看全部
-
序列化中子父类构造函数的调用问题: 对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用,如果已实现则不会被调用。查看全部
-
初始化子类时父类构造方法会被递归调用查看全部
-
使用transient关键字使指定的object元素不进行jvm默认的序列化 自己序列化的方式:【截图】 ArrayList源码中自己序列化的目的:ArrayList底层为数组,自己序列化可以过滤数组中无效的元素,只序列化数组中有效的元素,从而提高性能。查看全部
-
对象的序列化和反序列化之 ObjectOutputStream/ObjectInputStream 本质:将Object转换为byte序列或反之。 注意:被序列话的对象必须实现Serializable接口,否则会抛出异常,这个接口没有任何方法,只是一个标准。 常用方法:writeObject() / readObject();查看全部
-
字符流之过滤器: BufferedReader、BufferWriter、PrintWriter; 可以使用BufferedReader的readLine()方法一次读入一行,为字符串形式,用null判断是否读到结尾。使用BufferedWriter的write()方法或PrintWriter的print()方法写入文件,每次写入后需要调用flush()方法清空缓冲区。在写入时需要注意写入的数据中会丢失换行,可以在每次写入后调用BufferedReader的newLine()方法或改用PrintWriter的println()方法补充换行。 通常将PrintWriter配合BufferedWriter使用。(PrintWriter的构造方法,及使用方式更为简单)。查看全部
-
字符流之文件读写流的使用: FileReader/FileWriter 使用字符数组作为缓冲区读写文件,要格外注意文件的编码方式,这种流会默认以项目编码来读写文件,可能导致编码与项目编码不同的文本文件产生乱码,而且这种流在使用时不能指定编码,所以当操作不同编码的文件时应当回归到字符流来操作。查看全部
-
字符流读写时应当按照规范指定编码方式,如果不指定,则默认为项目编码。查看全部
-
字符流解析: InputStreamReader 完成byte流解析为char流,按照编码解析。 OutputStreamWriter 提供char流处理为byte流,按照编码处理。查看全部
-
java中文本、文件、文本文件的实质解析: 文件:byte byte byte的数据序列 文本:是16位无符号整数(char),是字符的unicode编码(双字节编码) 文本文件:是文本序列按照某种编码方案(utf-8、utf-16be、gbk)序列化为byte的存储结果。查看全部
-
读写效率对比:使用字节数组作为缓冲的流 > 使用原生缓冲的流 > 不使用缓冲的流查看全部
举报
0/150
提交
取消