-
字节流的基本概念与方法查看全部
-
gbk中文占用2个字节,英文占用1个字节。 utf-8中文占用3个字节,英文占用1个字节查看全部
-
RandomAccessFile的基本概念: RandomAccessFile是java提供的对文件内容的访问,既可以读文件,也可以写文件。查看全部
-
把序列化和反序列化包装成两个函数,便于处理: public static void serialize(Object obj, String file) throws IOException { ObjectOutputStream oos = new ObjectOutputStream( new FileOutputStream(file)); oos.writeObject(obj); oos.flush(); oos.close(); } public static Object deserialize(String file) throws Exception { ObjectInputStream ois = new ObjectInputStream( new FileInputStream(file)); Object obj = ois.readObject(); ois.close(); return obj; }查看全部
-
序列化和反序列化查看全部
-
序列化和反序列化查看全部
-
字符流操作的是文本文件查看全部
-
文本与文本文件查看全部
-
BufferedOutputStream查看全部
-
输出流的基本方式查看全部
-
字节流查看全部
-
catch(Exception e){ e.printStackTrace() ; } 当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace() ;。 printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。查看全部
-
序列化时父类构造函数:<br> 1.子类在反序列化时,父类实现了序列化接口,怎不会递归调用其构造函数<br> 而父类实现了serializable接口,子类继承就可序列化<br> 2.子类在反序列化时,父类没有实现序列化接口,则会递归调用其构造函数<br> 父类未实现serializable接口,子类自行实现可序列化<br> 结论:当父类实现了serializable接口,子类可以被序列化,当对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,则其父类的构造函数会被调用,反之父类的构造函数不会被调用。归结为有序列化接口的构造函数不会被调用查看全部
-
RandomAccessFile查看全部
-
引用: 序列化: transient 关键字:被transient修饰的元素,该元素不会进行jvm默认的序列化,但可以自己完成这个元素的序列化 注意: (1)在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;对有效元素序列化,提高性能。 (2)可以使用writeObject自己完成这个元素的序列化。ArrayList就是用了此方法进行了优化操作。ArrayList最核心的容器Object[] elementData使用了transient修饰,但是在writeObject自己实现对elementData数组的序列化。只对数组中有效元素进行序列化。readObject与之类似。 (3)java.io.ObjectOutputStream.defaultWriteObject(); // 把jvm能默认序列化的元素进行序列化操作 java.io.ObjectOutputStream.writeInt(age);// 自己完成序列化 (4) java.io.ObjectOutputStream.defaultReadObject();// 把jvm能默认反序列化的元素进行反序列化 this.age = java.io.ObjectOutputStream.readInt(); // 自己完成age的反序列化操作查看全部
举报
0/150
提交
取消