-
序列化和反序列化的使用查看全部
-
自定义元素的序列化和反序列话查看全部
-
FileUtils查看全部
-
字符流<br> 1)编码问题 前已述及 起码有一点要非常清楚的是,一切进入计算机的都会变成字节码<br> 2)认识文本和文本文件<br> java中的文本(其实就是char)16位的无符号整数,是字符的unicode编码(这是一种双字节编码)<br> 文件是byte byte byte...的数据集合,可以缩句来理解 文件输数据集合。字节流的编码方式和序列化规则不一样就形成了不同的文件:文本文件,音频文件,视频文件等<br> 文本文件是文本(char的编码)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的数据存储集合<br> (3)字符流<br> 抽象类 Reader Writer 二者实现了数据的两种相互转换,存储时我们用字节码的形式存储,读入计算机内存处理(包括显示,运算等)是用字符(ABC...)的形式。<br> 字符的处理,一次处理一个字符。其底层仍然是基本的字节序列<br> 字符流的基本实现<br> InputStreamReader 完成byte流解析为char流,按照编码接卸<br> OutputStreamWriter 提供char流到byte流,按照编码处理。<br> 为什么上面特别说明了一下文本文件,因为字符流大部分操作的都是文本文件。毕竟文本文编,以编码的方式不容易认读,我们才把字符编码解析为字符。如果Reader一个MP3之类的音频文件,根本就没有什么意义,因为,声音本来就不是用来看的,所以说字符流主要是用于处理文本文件的查看全部
-
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。<br> JDK类库中的序列化API<br> java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。 java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。 只有实现了Serializable和Externalizable接口的类的对象才能被序列化。Externalizable接口继承自Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而仅实现Serializable接口的类可以采用默认的序列化方式 。 对象序列化包括如下步骤: 1) 创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;<br> 2) 通过对象输出流的writeObject()方法写对象。<br> 对象反序列化的步骤如下: 1) 创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;<br> 2) 通过对象输入流的readObject()方法读取对象。查看全部
-
一个类实现了序列化接口与,则其子类也可直接序列化查看全部
-
序列化的注意查看全部
-
transilent关键字,不会默认序列化查看全部
-
对象的序列化和反序列化查看全部
-
BufferReader类的readline方法不能识别换行 FileReader和FileWriter不能增加编码参数,所以当项目和读取文件编码不同时,就会产生乱码。 这种情况下,只能回归InputStreamReader和OutputStreamWriter。 BufferedReader -- > readLine -> 读一行 不识别换行符,不会自动换行 BufferedWriter/PrintWriter -- > writeLine/println -> 写一行,不会自动换行/自动换行 在文件中换行,可以用newLine();实现查看全部
-
字符流操作查看全部
-
字符流中java的文本是16位的无符号整数,文件是byte的序列,文本文件是文本转byte存储的序列查看全部
-
byte类型8位,int类型32位,为了避免数据转换错误,通过&0xff将高24位清零查看全部
-
字节流常用方法查看全部
-
父类序列化时注意查看全部
举报
0/150
提交
取消