黑马程序员技术交流社区

标题: 【厦门校区JavaEE就业3期-每日总结】缓冲流、转换流、序列化流 [打印本页]

作者: 厦门校区    时间: 2018-8-24 21:15
标题: 【厦门校区JavaEE就业3期-每日总结】缓冲流、转换流、序列化流
1、缓冲流为什么会提高IO流读写的效率?
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
3、序列化流中的serialVersionUID的作用
4、请根据自己的语言表述IO流的体系
作者: 练志成    时间: 2018-8-24 21:18
1、缓冲流为什么会提高IO流读写的效率?
因为缓冲区的存在
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码表不一样的情况下会发生,解码格式不对,更换码表
3、序列化流中的serialVersionUID的作用
跟人的身份证一样,表示改变数据还是本人
4、请根据自己的语言表述IO流的体系
数据传输
作者: 练志成    时间: 2018-8-24 21:20

1、缓冲流为什么会提高IO流读写的效率?
因为缓冲区的存在
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码表不一样的情况下,更改编码表
3、序列化流中的serialVersionUID的作用
跟身份证一样,表明身份
4、请根据自己的语言表述IO流的体系
数据传输
作者: 张煜兴    时间: 2018-8-24 21:27
1、缓冲流为什么会提高IO流读写的效率?
因为缓冲流创建了缓冲区,通过缓冲区临时存储IO流传输的信息

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
当编码和译码不一致时会发生乱码,可以使用转换流,建立带encoding参数的转换流指定编码类型进行写入或读取

3、序列化流中的serialVersionUID的作用
可以使对象类的序列号保持唯一性,在改变对象类的代码后,反序列时不抛出异常


4、请根据自己的语言表述IO流的体系
IO流包括基本IO流和高效流、转化流、序列化、打印流
基本IO流有:字节输入输出流、字符输入输出流;
高效流也称缓冲流:也有字节、字符的输入输出流;
转化流:有两个InputStreamReader和OutputStreamWriter,当需要指定编码进行操作时使用
序列化:当想对对象进行IO流存储时用到的ObjectOutputStream和ObjectInputStream
打印流:对输出流的包装




作者: 仰望`星空    时间: 2018-8-24 21:34
郭林源


1、缓冲流为什么会提高IO流读写的效率?-->在内存中创建一个默认大小的缓冲区数组,通过缓冲区的读写,减少系统间的IO次数,从而提高读写效率

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?-->当解码与编码使用的编码规则不同时,就会出现乱码,解决办法,在读取时使用序列化流转码,转成与文件相同编码

3、序列化流中的serialVersionUID的作用-->每次序列化时,系统会随机生成UID码,当反序列化时,系统会比较两次UID码,如不同则会报错,所以可final固定一个UID值,这样它就不会变化了,也就不会报错了                                            
4、请根据自己的语言表述IO流的体系-->IO流按数据类型分为字节流和字符流,按流入方向,分为输入流和输出流,为提高效率,可利用缓冲流,解决编码问题,可使用转换流,引入对象时,可使用序列化流,为方便地打印各种数据类型的值,可使用打印流
作者: 舟sir    时间: 2018-8-24 21:36
1、缓冲流为什么会提高IO流读写的效率?在CPU中开启了一个缓冲区,减少io的访问,提高效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?

编码和解码表不一样的时候会发生读取和写入乱码;
字符编码规则不一样;
解决:通过转换流解决
一切皆字节,通过相同的的字符编码读取到“字节”,再通过不同的字符编码,编码成想要的字符集
3、序列化流中的serialVersionUID的作用

等于设定了一个规则,让jvm知道所在的对象是否可以进行系列化操作
4、请根据自己的语言表述IO流的体系

io流:是cpu的输入和输出的一个流,因为各国的文字,标点符号、图形符号和数字等都有较大差异,
    因此字节和字符,以及不同的字符编码,以实现相互之间的编码和解码(归根结底都是“字节”的`输出`和`输入`流),形成一个体系。
———周家乾!

作者: 仰望`星空    时间: 2018-8-24 21:36
郭林源


1、缓冲流为什么会提高IO流读写的效率?-->在内存中创建一个默认大小的缓冲区数组,通过缓冲区的读写,减少系统间的IO次数,从而提高读写效率

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?-->当解码与编码使用的编码规则不同时,就会出现乱码,解决办法,在读取时使用序列化流转码,转成与文件相同编码

3、序列化流中的serialVersionUID的作用-->每次序列化时,系统会随机生成UID码,当反序列化时,系统会比较两次UID码,如不同则会报错,所以可final固定一个UID值,这样它就不会变化了,也就不会报错了                                            
4、请根据自己的语言表述IO流的体系-->IO流按数据类型分为字节流和字符流,按流入方向,分为输入流和输出流,为提高效率,可利用缓冲流,解决编码问题,可使用转换流,引入对象时,可使用序列化流,为方便地打印各种数据类型的值,可使用打印流
作者: ZNBran    时间: 2018-8-24 21:37
1.缓冲流在内存中创建缓冲区,把读写数据存入缓冲区,通过内存直接访问内存减少读写次数,从而提高读写效率。
2.在读写的过程中,解码和编码的规则不同就会出现乱码。通过转换流自定义解码规则可以将对应的编码数据读取
3.序列化流中serislVersionUID给序列化的类提供一个序列版本号,在反序列化时可以验证序列化对象与对应类是否版本匹配。
4.IO流体系分类基本流和增强流,基本流分为字符流和字节流,字节流可以用来处理所有文件,字符流主要用来处理文本文件。增强流用来操作基本流,增强流主要分成缓冲流,转换流和序列化流,缓冲流用来操作基本流提高读写速度,转换流用来对文件中的数据进行编码解码,序列化流用来读写类对象。
======================================================周楠
作者: yangshixian    时间: 2018-8-24 21:38
1、缓冲流为什么会提高IO流读写的效率?
因为缓冲流在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
当数据所编码的对应的编码表与解码所用的编码表不同时会发生乱码。
是由于编码和解码所使用的编码表不同而产生的
通过转换流进行解决

3、序列化流中的serialVersionUID的作用
用于解决当类的class文件中的数据发生改动时,反序列化时抛出的文件序列号对应不上的异常

4、请根据自己的语言表述IO流的体系
按照传输方向不同分为输入流和输出流,按照操作数据的不同分为字符流和字节流,InputStream和OutputStream是字节流的顶级父类,Writer和Reader是字符流的顶级父类。根据功能的不同,其子类又分为文件流、缓冲流、转换流、序列化流、打印流等





作者: 刘建宝    时间: 2018-8-24 21:40
1、缓冲流为什么会提高IO流读写的效率?
缓冲流在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
读写过程使用与自身不同的编码表读写,会产生乱码;
使用转换流解决;创建OutputStreamWriter文件要与读取编码表相同,InputStreamReader指定与自身一样的编码表进行读取
3、序列化流中的serialVersionUID的作用
该版本号的目的在于验证序列化的对象和对应类是否版本匹配
4、请根据自己的语言表述IO流的体系
关于文件数据的输出和输入,又分字节,字符;
通过输出OutputStream和输入InputStream,又划分出不同功能的子类
从而使文件数据可以在不同设备,系统进行相互转换,编写;
作者: 练志成    时间: 2018-8-24 21:44
、缓冲流为什么会提高IO流读写的效率?
因为缓冲区的存在
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码表不一样的情况下,更改编码表
3、序列化流中的serialVersionUID的作用
跟身份证一样,表明身份
4、请根据自己的语言表述IO流的体系
数据传输
作者: 罗荣贵    时间: 2018-8-24 21:46
1.缓冲流会在内存中开辟缓存空间,读取速度快
2.当我们的解码和编码的用的编码表不同的时候会发生乱码,我们用转换流来进行编码转换
3.解决在序列化和反序列化过程中因为更改类中的内容导致的.class不同
4.分为字节流和字符流
作者: 李志超    时间: 2018-8-24 21:46

1、缓冲流为什么会提高IO流读写的效率?
在创建缓冲流对象时,会再内存中开辟一个缓存区,会将所要读写的内存先存到缓存中,减少硬盘与内存的IO次数。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
读写过程中,编码与解码的规则不一样时,就会出现乱码。
。。
可以通过转换流进行转换规则

3、序列化流中的serialVersionUID的作用
相当于身份证,起到标记序列的作用。

4、请根据自己的语言表述IO流的体系
I/O  输入输出流,字节字符流
子类有文件、转换、缓冲、序列/打印
想要提高效率就用缓冲流
设计乱码问题用转换流
想要将对象持久化存储就用序列化流
作者: 小鱼七    时间: 2018-8-24 21:49
1、缓冲流为什么会提高IO流读写的效率?
缓冲流会在内存中创建缓冲区,将读写内容先存在缓冲区,减少读取的次数,提高效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码和解码的规则不一样,是在读写时采用相同的编码规则
3、序列化流中的serialVersionUID的作用
给序列化的文件做一个标记
4、请根据自己的语言表述IO流的体系
字节流:字节输出流、字节输入流
字符流:字符输入流、字符输出流
缓冲流;字节缓冲输入流、字节缓冲输出流、字符缓冲输出流、字符缓冲输入流
转换流:转换输出流、转换输入流





作者: 练志成    时间: 2018-8-24 21:51
、缓冲流为什么会提高IO流读写的效率?
因为缓冲区的存在
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码表不一样的情况下,更改编码表
3、序列化流中的serialVersionUID的作用
跟身份证一样,表明身份
4、请根据自己的语言表述IO流的体系
数据传输
作者: 陈锦祥    时间: 2018-8-24 21:51
1、缓冲流为什么会提高IO流读写的效率?缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。
因为字符编码不一致 所以导致乱码现象;
通过转换流来处理此类现象
3、序列化流中的serialVersionUID的作用
serialVersionUID 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。
如果不匹配 会产生InvalidClassException 异常
4、请根据自己的语言表述IO流的体系

IO流分为字符流,字节流 两类
字节流可以分为 字节输入流 字节输出流
字符流可以分为字符输入流  字符输出流
在体系下的 还有 高效流/缓冲流    转换流     序列化流
IO流,就是把数据的传输行为封装成了对象,对于数据的传输过程,也就变成了对IO流对象的操作过程:


作者: shenxiaogan    时间: 2018-8-24 21:52
1、缓冲流为什么会提高IO流读写的效率?
开辟一个缓存空间 ,读取速度更快,起码比内存读内存快
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码跟写码不一致,是因为每个规则不一样产生的,比如一个东西你卖10块我卖9.9,用转换流解决
3、序列化流中的serialVersionUID的作用
改变内容class会变化,固定它的作用
4、请根据自己的语言表述IO流的体系
输出输入,字节字符
作者: 赖良峰    时间: 2018-8-24 21:53
1、缓冲流为什么会提高IO流读写的效率?       在内存中开辟一个数组,等数组装满了以后再把数组中的数据写入到硬盘中
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
      解码和编码使用的编码不一致,使用相同的编码进行解码和编码可解决,
3、序列化流中的serialVersionUID的作用
     在反序列的时候使用,防止抛出异常
4、请根据自己的语言表述IO流的体系

     都是基于字节输出流和字节输入流,通过各种包装实现了各种功能

作者: 张子建    时间: 2018-8-24 21:53
1、缓冲流为什么会提高IO流读写的效率?
在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
当读取Windows系统中创建的文本文件时,由于Windows系统的默认是GBK编码,就会出现乱码;
用InputStreamReader类,它读取字节,并使用指定的字符集将其解码为字符。
3、序列化流中的serialVersionUID的作用
serialVersionUID 的目的在于验证序列化的对象和对应类是否版本匹配。
4、请根据自己的语言表述IO流的体系
有点乱,还没理清楚
作者: sulaymanfan    时间: 2018-8-24 21:53
1、缓冲流为什么会提高IO流读写的效率?     缓冲流减少了io的操作次数,都是在内存中进行操作.
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
      当我们在读取的编码和文本原本的编码不一致时就会发生乱码, 因为不同的编码对应的字符集不一样,所以解析的字符也不一样,只有用相同的编码读读书就行.
3、序列化流中的serialVersionUID的作用
      serialVersionUID是类唯一的序列码, 保证了对象的唯一性.
4、请根据自己的语言表述IO流的体系
      字节输出和输入流
      字符的输出和输入流


作者: 迪亚波罗    时间: 2018-8-24 21:54
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流
作者: 迪亚波罗    时间: 2018-8-24 21:54
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的 (serialVersionUID) 来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的 serialVersionUID 与本地相应实体(类)的 serialVersionUID 进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流
作者: 林靖    时间: 2018-8-24 21:55
1、缓冲流为什么会提高IO流读写的效率?
缓冲流在创建时会创建一个默认大小的缓冲区数组,通过缓冲区读写,提高了读写效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
因为编码和解码过程使用的编码表和字符集不一致,在解码的时候,用转换流,InputStreamReader,在构造参数中,声明需要的编码格式
3、序列化流中的serialVersionUID的作用
用于防止类中数据变化后反序列化失败
4、请根据自己的语言表述IO流的体系
输出流、输入流 、File、
作者: 林胜强    时间: 2018-8-24 21:55
1、缓冲流为什么会提高IO流读写的效率?
在内存中创建了缓存区,将每次读的数据存储在缓存区再一次写出。减少了读写次数。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
在文件编码与idea的编码不同时。idea默认UTF-8 ,windows默认GBK。在写入内存可能乱码。
3、序列化流中的serialVersionUID的作用
当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败.所以需要给定一个唯一的UID值。
4、请根据自己的语言表述IO流的体系
I/O流其实就两流,输入输出流.都是从内存写数据到硬盘,从硬盘读数据到内存。因为传输速度因素有字符,字节,缓存字符,缓存字节流,(传输数据类型也不一样),为了在系统中永久存储对象有了序列化流。打印流是输出流的封装。
作者: 迪亚波罗    时间: 2018-8-24 21:55
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流
作者: 罗建辉    时间: 2018-8-24 21:55
1、缓冲流为什么会提高IO流读写的效率?
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。


2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
使用FileReader 读取项目中的文本文件用的是UTF-8编码读取,而创建文本时Windows系统的默认是GBK编码,此时就会出现乱码


3、序列化流中的serialVersionUID的作用
版本号的目的在于验证序列化的对象和对应类是否版本匹配。


4、请根据自己的语言表述IO流的体系
IO流四大超类:InputStream,OutPutStream
                      Writer,Reader
其子类(基流):FileInputStream,FileOutputStream,FileReader,FileWrite
包装流:对IO流功能的增强
缓冲流,序列化流,转换流,内存流,管道流,打印流,数据流等,各自有各自的特点.





作者: 练志成    时间: 2018-8-24 21:56
、缓冲流为什么会提高IO流读写的效率?
因为缓冲区的存在
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码表不一样的情况下,更改编码表
3、序列化流中的serialVersionUID的作用
跟身份证一样,表明身份
4、请根据自己的语言表述IO流的体系
数据传输
作者: 谢君昇    时间: 2018-8-24 21:56
1、缓冲流为什么会提高IO流读写的效率?
   在内存中开辟一块空间,当这块空间满了会一次性写入磁盘,减少io资源的消耗;
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
  当同一份文件的编码表和解码表采用的不一样时,会发生乱码;
3、序列化流中的serialVersionUID的作用
  保证了这个类每次被编译后还能保证唯一并被使用;
4、请根据自己的语言表述IO流的体系
  字节、字符输入输出流;





作者: 沈智桂    时间: 2018-8-24 21:56
1、缓冲流为什么会提高IO流读写的效率?
缓冲流会在内存空间中开辟缓冲空间,读取速度快
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
idea的默认编码是utf8,如果用其他编码写入乱码问题,我们用转换流解决
3、序列化流中的serialVersionUID的作用
解决在序列化和反序列化过程因为更改类的内容而导致的.class不同
4、请根据自己的语言表述IO流的体系
   分为字节流和字符流,字节流有字节输入流和字节输出流。字符流有字符输出流和字符输入流
作者: weimengchao    时间: 2018-8-24 21:57

1、缓冲流为什么会提高IO流读写的效率?
减少硬盘和内存的交互,一次性读取大量数据
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码和解码所用的编码表不同,使用转换流指定编码来解决
3、序列化流中的serialVersionUID的作用
给类指定一个id,让虚拟机在众多类中快速定位该序列化类,以及更改类带来的找不到class的弊端
4、请根据自己的语言表述IO流的体系
内存与硬盘的交互,传输二进制数据
作者: 郑颖锋    时间: 2018-8-24 21:57
1、缓冲流为什么会提高IO流读写的效率?
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
当编码和解码使用的编码不一致时就会发生写入乱码问题。可以用转换流来解决这个问题,读取文件时,可以用转换流InputStreamReader和OutputStreamWriter来指定读写时使用的编码,并可以改变文件的编码规则重新存储。
3、序列化流中的serialVersionUID的作用
Serializable 接口给需要序列化的类,提供了一个序列版本号。serialVersionUID 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。
4、请根据自己的语言表述IO流的体系。
IO流的四个顶级父类分别是:字节输入流InputStream、字节输出流OutputStream、字符输入流Reader、字符输出流Writer。
字节输入流InputStream是抽象类,使用时必须用其子类,如FileIntputStream;
字节输出流OutputStream是抽象类,使用时必须用其子类,如FileOutputStream;
字符输入流Reader是抽象类,使用时必须用其子类,如FileReader;
字符输出流Writer是抽象类,使用时必须用其子类,如FileWriter;
在基本流的基础上还有功能更强大的流,比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等。
缓冲流又分为: BufferedOutputStream:字节缓冲输出流、BufferedInputStream:字节缓冲输入流、BufferedWriter:字符缓冲输出流、BufferedReader:字符缓冲输入流等等;
转换流又分为OutputStreamWriter和InputStreamReader。
序列化流又分为ObjectOutputStream:对象的序列化流和ObjectInputStream:对象的反序列化流。
打印流 PrintStream 等等。



作者: 迪亚波罗    时间: 2018-8-24 21:58
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流
作者: 苏华琛    时间: 2018-8-24 21:58
1、缓冲流为什么会提高IO流读写的效率?

因为缓冲流在内存中创建了一个缓存区,提高了我们的读写速度

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?

读写时,读入的文件和自身使用的编码不同时会出现乱码,就是一些看不懂的字符什么的,一般使用转化流来解决

3、序列化流中的serialVersionUID的作用

确保反序列化时使用的类是同一个

4、请根据自己的语言表述IO流的体系

io流分为输入流和输出流
输入流和输出流又分为字符流和字节流两种形式
其中file形式字节输出流、输入流和字符输入流、输出流是io中的基本流
Buffered开头的zifu、字节、输出流、输入流是缓冲流,执行效率大大高于基本流
作者: 迪亚波罗    时间: 2018-8-24 21:58
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流
作者: 迪亚波罗    时间: 2018-8-24 21:59
1。是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率
2。读的情况下面发生,写入的字符编码和读取的字符编码不一致,修改字符编码
3.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4.按照输入输出分为 输出流in 输入流out 按照字符字节 分为字节流 字符流

孙享
作者: 丶黑白    时间: 2018-8-24 21:59
余志斌
1、缓冲流为什么会提高IO流读写的效率?
      因为会在内存中创建一个缓冲区。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
       解码规则和编码规则不同,对照的字符集不同导致的。通过指定相同的编码表解决。
3、序列化流中的serialVersionUID的作用
      校对是否是同一个序列化文件。
4、请根据自己的语言表述IO流的体系
     以输出/输入,字符/字节流为底层衍生出许多带各种功能的io流。如缓冲流、打印流、序列化流、转换流

作者: 铜墙铁壁花无缺    时间: 2018-8-24 21:59
余金龙

1、缓冲流为什么会提高IO流读写的效率?    答 提供提高I/O效率的缓冲类,这好比在数据读写时提供一个临时缓冲区,每次读取一个缓冲区大小的数据,将这数据库一次性写入目标设备。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
答:大多数文件在保存数据的时候,采用的都是本地平台的默认编码表gbk。因此在使用默认编码表的情况下,通过FileReader和FileWriter读写文件不会发现乱码的问题。
但是,如果通过FileReader和FileWriter读取一个编码格式为gbk的文件,并将读取的数据写入一个编码格式UTF-8的文件。则一定会出现乱码现象。保证编码相同就不会出
现乱码                                                      
3、序列化流中的serialVersionUID的作用
保证反序列化时候的class文件一致(相当于身份识别标识符)


作者: 郭生发    时间: 2018-8-24 21:59
1、缓冲流为什么会提高IO流读写的效率?

    因为缓冲流在内存中开辟空间进行读写,减少系统IO次数,读写速度快。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?

     当编码与解码使用不同的规则时会发生写入乱码问题。
     编码和解码时使用同一种规则可以解决。
3、序列化流中的serialVersionUID的作用

     验证序列化的对象和对应类是否匹配
4、请根据自己的语言表述IO流的体系

IO流有输入流和输出流
输入流有字符输入流 Reader和字节输入流 InputStream;子类分别有字符缓冲输入流 BufferedReader和字节输缓冲入流 BufferedInputStream
输出流有字符输出流 Writer和字节输出流 OutputStream;子类分别有字符缓冲输出流 BufferedWriter和字节缓冲输出流 BufferedOutputStream
字节流到字符流 InputStreamReader;字符流到字节流OutputStreamWriter
打印流 PrintStream
序列化ObjectOutputStream
反序列化ObjectInputStream

作者: 李伟javaee03    时间: 2018-8-24 21:59
1、        缓冲流为什么会提高IO流读写的效率?
使用缓冲流会在内存中创建一个缓存区,提高读写效率
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
解码时使用与编码不同的解码规则会产生乱码,
先用文件默认编码读取文件,然后用指定编码写入,再用指定编码读取可解决乱码问题
2、        3序列化流中的serialVersionUID的作用
每一次更改类中的成员变量都会默认生成新的serialVersionUID值,在反序列化时会报错,一开始确定serialVersionUID值,会避免此异常。
4、请根据自己的语言表述IO流的体系
IO流按类型分为字节流和字符流,按功能分为输入流和输出流
字符流 FileWriter、BufferedFileWriter、FileReader、BufferedFileRedader
字节流FileInputStream、BufferedInputStream、FileOutputStream、BufferedOutputStreaem
转换流InputStreamReader、OutputStreamWriter
序列流ObjectInputStream、ObjectOutputStream

作者: 黄伟佳    时间: 2018-8-24 21:59
1、缓冲流为什么会提高IO流读写的效率?
因为内存中开辟缓存空间
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
解码和编码运用的编码表不一样产生的,运用转换流
3、序列化流中的serialVersionUID的作用
就是类似于身份证。使得反序列号的时候更改数据导致class不同产生的问题
4、请根据自己的语言表述IO流的体系
主流分为输出和输入流。然后两个主流再分为字节字符流四个基本流。
基本流加强版高校流。
作者: 赵烈刚    时间: 2018-8-24 21:59
1.        缓冲流为什么会提高IO流读写的效率?
因为缓冲流是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
解析时与存储时的字符集不一致会导致乱码;不同的国家语言或需要的字节数不一样,强行解码会产生乱码;在解码时使用相对应的字符集。
3、序列化流中的serialVersionUID的作用
用于验证序列化的对象和对应类是否版本匹配。
4、请根据自己的语言表述IO流的体系
I/O流中总体分为:字节流:(输入流)InputStream,(输出流)OutputStream
                                         字符流:(输入流) Reader,(输出流)Writer

作者: 黄晨伟    时间: 2018-8-24 22:00
1.内存中开辟缓存空间,读取速度快
2.解码和编码的用的编码表不同,转换流来进行编码转换
3.
4.字节流和字符流
作者: 小悦悦    时间: 2018-8-24 22:00
1.会开辟缓存空间
2.编码解码不一致
3.让类型一致
4.字节和字符
--李翔


作者: MJ11    时间: 2018-8-24 22:00
1、缓冲流为什么会提高IO流读写的效率?
      缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO
次数,从而提高读写的效率。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
             当写入或者读取的字符集与操作的字符集不一致时,会发生乱码问题.
             可以通过转换流来进行与其相对应的转换.
3、序列化流中的serialVersionUID的作用
      
4、请根据自己的语言表述IO流的体系

    IO流是字节数据操作系统文件的一个过程.可对文件进行读写操作,有缓冲流,转换流,序列化流及打印流

   田浪
作者: 张剑猛    时间: 2018-8-24 22:00
1、缓冲流为什么会提高IO流读写的效率?
缓冲流会在内存中创造一个缓冲区数组,直接进行内存与内存间的数据交流,减少系统i\o的次数;
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
读的过程中解码的规则也就是编码表跟文件储存时的编码规则不一样就会出现乱码;使用转换流使解码跟编码用同一个编码表就可以解决
3、序列化流中的serialVersionUID的作用
.解决在序列化和反序列化过程中因为更改类中的内容导致的.class不同
4、请根据自己的语言表述IO流的体系
IO流是我们的工作内存和设备硬盘交互的通道,分为输出流和输入流,底层都是字符流;但是由于编码解码的关系需要有一套规则使结果符合我们预期,在字节的基础上增加了字符流用于储存不同国家地区的语言字符。根据使用的功能又分为缓冲流、转换流和序列化反序列化和打印流

作者: zouyitao    时间: 2018-8-24 22:00
邹毅涛
1、缓冲流为什么会提高IO流读写的效率?
缓冲流底层为字节数组,在进行数据读取写出时,会先存入缓冲区里的数组,然后一次性写入,提高IO流读写的效率。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
乱码问题是读写编码与源文件编码不一致,所以出现乱码,可以通过转换流解决。
3、序列化流中的serialVersionUID的作用
当serialVersionUID值相同时,可以保证反序列化的类与序列化时的类一致。

4、请根据自己的语言表述IO流的体系
IO流 分为字节流和字符流按流向输入流和输出流
提高效率有缓冲流,转换编码有转换流,还有序列化流。
作者: 冰是睡着的水    时间: 2018-8-24 22:00

1、缓冲流为什么会提高IO流读写的效率?
答:因为缓冲流原理是在内存开辟一个缓冲区,可以减少系统io次数,增大效率。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
答:乱码问题发生在编码与解码所用的码表不一样。我们可以使用统一的编码及
解码规则来解决乱码问题。

3、序列化流中的serialVersionUID的作用
答:用来验序列化后对象与类是否前后一致。

4、请根据自己的语言表述IO流的体系
答:IO流即以内存为基,根据流向分为输出流和输入流,根据数据的类型分为
字节流和字符流。以字符流、字节流的基础上还有缓冲流、转换流、打印流。


(黄嘉欣)

作者: 林嘉志    时间: 2018-8-24 22:01
1、缓冲流为什么会提高IO流读写的效率?
             缓冲流会在内存中创建缓冲区数组,通过缓冲区读写,减少读写的次数,提高效率

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
             当读写的编码不一致的时候,会发生乱码,每个字符集的规则不一样,读写的规则不一样就会产生乱码
强制读写编码一致即可

3、序列化流中的serialVersionUID的作用
          serialVersionUID表示类的当前版本,每个实现Serializable接口的类都有,如果修改了类,那么UID的值也会改变,导致序列化或反序列化失败,所以最好自己设置一个。

4、请根据自己的语言表述IO流的体系
           IO流分为字节输出流、字节输入流,字符输出流、字符输入流
           OutputStream抽象类是表示输出字节流的所有类的超类  子类是FileOutputStream
           InputStream抽象类是表示字节输入流的所有类的超类 子类是FileInputStream

           Writer是写入字符流的抽象类
           Reader用于读取字符流的抽象类

           缓冲流分为字节缓冲流、字符缓冲流
           字节缓冲流BufferedInputStream是InputStream的子类,BufferedOutputStream是OutputStream子类
           字符缓冲流BufferedReader是reader的子类、BufferedWriter是write的子类
            转换流InputStreamReader,是Reader的子类
                      OutputStreamWriter ,是Writer的子类
             序列化ObjectOutputStream是Writer的子类
                      ObjectInputStream是Reader的子类
                       序列化必须实现Serializable 接口
            打印流PrintStream是OutputStream的子类
         
              






作者: liebstch    时间: 2018-8-24 22:01
陈建秋
1、缓冲流为什么会提高IO流读写的效率?
     因为缓冲流对象的创建会附带开辟一段内存空间,默认为8192k,每次在这段空间被数据填满时才去访问,io,而没有缓冲流的io流在读写时访问io的次数会非常的频繁,而且内存与内存中的数据访效率很高。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?  1.字符是多个字节的如果用字节流读取乱码。
   2.还有一种是因为ide默认使用utf-8的编码,如果写入的时候,数据的编码方不为utf-8,那么不同的解码规则就会导致乱码,我们可以通过转换流指定编码格式让它与写入文件的编码相同就可以借据乱码。
3、序列化流中的serialVersionUID的作用
通过判断实体类的serialVersionUID来验证版本一致性的,在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
4、请根据自己的语言表述IO流的体系
   io按照流向分为输入流和输出流:输出流从工作内存将数据写出硬盘,输入流从硬盘读读取数据到内存。
   io按读写单位可以分为字节流和字符流 :字节流一次读取一个字节,字符流一次读取一个字符可以解决不同编码格式,单字节无法表示字符的问题。
   缓冲流:可以提高数据的输出和输入的效率
   转换流 :可以解决不通过编码之间的乱码问题
   序列流 : 可以将对象序列化为二进制数据存储,实现持久化,或者将二进制数据重构对象
   打印流: 可以输出各种格式的数据,不需要进行转换,写的是什么打印的就是什么。



作者: 吴鑫佳    时间: 2018-8-24 22:02
1、缓冲流为什么会提高IO流读写的效率?
   缓冲流会在内存生成一个缓冲区,进行数据传输都是在内存中进行的话,减少了与硬盘的交流次数会大大加快运行的速度。所以会大大提高IO流读写效率。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
   编码和解码使用的编码表不一样,也就是加密和解密的规则不一样,一方无法识别另一方的内容就会产生乱码。我们通过转换流来解决不同的编码问题以及解码问题,通过转换流转换成我们可是别的编码方式。
3、序列化流中的serialVersionUID的作用
    用来验证我们所序列话的对象是时候在序列化后进行了改变。
4、请根据自己的语言表述IO流的体系
    IO流分为输出流和输入流,输出流又分为字节输出流和字符输出流,输入流也一样分为字节输入流和字符输入流。对应的都有缓冲流。缓冲流运行速度大大提升内。
作者: 陈张辉    时间: 2018-8-24 22:02
1、缓冲流为什么会提高IO流读写的效率?
因为在内存中操作
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
编码不同                                    读和写的码表相同
3、序列化流中的serialVersionUID的作用
记录版本
4、请根据自己的语言表述IO流的体系
字节流===通过转换流实现==字符流
输入流输出流
序列化流/反序列化流


作者: 陈捷    时间: 2018-8-24 22:05
1、缓冲流为什么会提高IO流读写的效率?
调用I\O操作的时候,实际上还是一个一个的读或者写,关键就在,CPU只有一个,不论是几个核心。CPU在系统调用时,会不会还要参与主要操作?参与多次就会花更多的时间。
系统调用时,若不用缓冲,CPU会酌情考虑使用 中断。此时CPU是主动地,每个周期中都要花去一部分去询问I\O设备是否读完数据,这段时间CPU不能做任何其他的事情(至少负责执行这段模块的核不能)。所以,调用一次读了一个字,通报一次,CPU腾出时间处理一次。
而设置缓冲,CPU通常会使用 DMA 方式去执行 I\O 操作。CPU 将这个工作交给DMA控制器来做,自己腾出时间做其他的事,当DMA完成工作时,DMA会主动告诉CPU“操作完成”。这时,CPU接管后续工作。在此,CPU 是被动的。DMA是专门 做 I\O 与 内存 数据交换的,不仅自身效率高,也节约了CPU时间,CPU在DMA开始和结束时做了一些设置罢了。
所以,调用一次,不必通报CPU,等缓冲区满了,DMA 会对C PU 说 “嘿,伙计!快过来看看,把他们都搬走吧”。
综上,设置缓冲,就建立了数据块,使得DMA执行更方便,CPU也有空闲,而不是呆呆地候着I\O数据读来。从微观角度来说,设置缓冲效率要高很多。尽管,不能从这个程序上看出来。
2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
.当我们的解码和编码的用的编码表不同的时候会发生乱码,我们用转换流来进行编码转换
3、序列化流中的serialVersionUID的作用
解决在序列化和反序列化过程中因为更改类中的内容导致的.class不同
4、请根据自己的语言表述IO流的体系
InputStream类:是所有字节输入流的父类前端css,是一个抽象类;
StringBufferInputStream类:是一种基本的介质流,网页重构报价用于从StringBuffer(字符数组)中读取数据;
ByteArrayInputStream类:是一种基本的介质流div+css前端,用于从Byte字节数组中度数数据;
FileInputStream类:最基本的文件输入流,div+css前端用于从文件中读取数据;
PipeInputStream类:该类在流中引入管道的概念css3切图,用于从其他线程共用的管道中读取数据;
SequenceInputStream 类:将2个或者多个InputStream 对象转变为一个InputStream.
注意:ObjectInputStream、所有FilterInputStream的子类都是装饰流.
DataInputStream 类:一般和DataOutputStream配对使用,手机div+css提供了大量的读取基本数据类型的方法.
BufferedInputStream 类:使用该对象阻止每次读取一个字节都会频繁操作IO.将字节读取一个缓存区css样式制作,从缓存区读取.
LineNumberInputStream 类:跟踪输入流中的行号.可以调用getLineNumber( )和 setLineNumber(int)方法得到和设置行号.
PushbackInputStream 类:可以在读取最后一个byte 后将其放回到缓存中.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2