-
1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化 2.序列化流(OjectOutputStream)是过滤流----writeObject 反序列化流(ObjectInputStream)----readObject 3.序列化借口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准 对象实体类的序列化与反序列化 public static void main(String[] args) throws IOException, Exception { String file = "F:/IO流/序列化/test.txt"; // 1.对象的序列化 /*ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream( file)); Student stu = new Student("10011", "张三 ", 20); oos.writeObject(stu); oos.flush(); oos.close();*/ // 2.反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu2 = (Student) ois.readObject(); System.out.println(stu2); ois.close(); }查看全部
-
JAVA I/O输入输出流 一、编码问题 1、gbk编码中文占用2个字节,英文占用1个字节 2、utf-8编码中文占用3个字节,英文占用一个字节 2、utf-16be 编码中文占用2个字节,英文占用2个字节 3、当你的字节序列是某种编码格式时,这个时候想把字节序列变成字符串,也需要使用这种编码方式,否则会出现乱码 4、文本文件 就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码 二、File类的使用 1、java.io.File类用于表示文件(目录) 2、File类只用于表示文件(目录)的信息(名称,大小等),不能用于文件内容的访问 3、常用的File对象的API file file.toString()的内容、 file.getAbsolutePath()、file.getName()、file.exit()、file.mkdir()、 file.mkdirs()、 4、File类的常用操作(过滤、遍历等操作) 1、list() 返回的是字符串数组,用于列出当前目录下的子目录和文件 2、如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回File对象的API File[] files = dir.listFiles(); if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { // 递归 listDirectory(file2); } else { System.out.println(file); } } } 三、RandomAccessFile的使用 四、字节流的使用 五、字符流的使用 六、对象的序列化和反序列化查看全部
-
JAVA I/O输入输出流 一、编码问题 1、gbk编码中文占用2个字节,英文占用1个字节 2、utf-8编码中文占用3个字节,英文占用一个字节 2、utf-16be 编码中文占用2个字节,英文占用2个字节 3、当你的字节序列是某种编码格式时,这个时候想把字节序列变成字符串,也需要使用这种编码方式,否则会出现乱码 4、文本文件 就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码 二、File类的使用 1、java.io.File类用于表示文件(目录) 2、File类只用于表示文件(目录)的信息(名称,大小等),不能用于文件内容的访问 3、常用的File对象的API file file.toString()的内容、 file.getAbsolutePath()、file.getName()、file.exit()、file.mkdir()、 file.mkdirs()、 三、RandomAccessFile的使用 四、字节流的使用 五、字符流的使用 六、对象的序列化和反序列化查看全部
-
JAVA I/O输入输出流 一、编码问题 1、gbk编码中文占用2个字节,英文占用1个字节 2、utf-8编码中文占用3个字节,英文占用一个字节 2、utf-16be 编码中文占用2个字节,英文占用2个字节 3、当你的字节序列是某种编码格式时,这个时候想把字节序列变成字符串,也需要使用这种编码方式,否则会出现乱码 4、文本文件 就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码 二、File类的使用 三、RandomAccessFile的使用 四、字节流的使用 五、字符流的使用 六、对象的序列化和反序列化查看全部
-
对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用。查看全部
-
有些数据需要序列化,有些数据需要按照自己的规定序列化,参考ArratList类。在需要自己序列化的数据用上transient修饰,然后在使用自己规定的方式强制的序列化该数据查看全部
-
字节流 输出流查看全部
-
访问文件查看全部
-
1.项目编码是gbk,文件编码是utf-8,会出现乱码,而且方法没有设置编码的参数,这种流会默认以项目编码来读写文件 2.FileWriter:文件输出流,FileWriter()里除了文件路径,若再追加参数true,则不会删掉该文件,而是append拼接查看全部
-
1.java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 2.文本是byte、byte、byte...的数据序列 3.文本文件是文本(char)序列按照某种编码方案(utf-8、gbk)序列化为byte的存储查看全部
-
字节批量读取,先开辟一个内存数组(空间),如byte[] buf = new byte[8*1024];然后读取,效率相对于单字节、bufferedOutStream缓存读取是最高的。查看全部
-
file/data/bufferedOutStream的区别查看全部
-
对象序列化和反序列化查看全部
-
DataIutputStream与DataOutputStream查看全部
-
FileInputStream与FileOutputStream应用查看全部
举报
0/150
提交
取消