-
返回目录下所有子目录(文件)查看全部
-
java.io.File用于表示文件(目录) File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问查看全部
-
序列化和反序列化用同一种编码查看全部
-
在创建一个file的时候,如果没有写绝对路径,那就是相对路径,在这个项目下的文件。查看全部
-
RandomAccessFile类查看全部
-
file类只用于文件(目录)的信息(名称,大小等),不能用于文件内容的访问查看全部
-
java的文件类型查看全部
-
其他的不说,指一下讲错的地方。<br> 直接贴一下主要的程序<br> int len = 0;<br> byte[] buf = new byte[64];<br> //缓冲类的意义在于使用的字节数组不必很大,使用适当大的byte数组的Buffered方法,就可以与超过缓冲区大小(比如1M大)的byte数组的普通copyFile方法的效率相当。<br> while((len = bis.read(buf)) != -1){<br> bos.write(buf,0,len);<br> //此处不要加flush,否则会失去缓冲的意义<br> }查看全部
-
对象的序列化查看全部
-
字符流查看全部
-
transient关键字 自己序列化和反序列化查看全部
-
字符流查看全部
-
关于父类与子类的序列化,子类序列化时递归调用父类的构造函数;而关于子类反序列化时,如果负累为实现序列化接口,则它的构造函数会被调用。这是因为如果父类实现了序列化接口,那么子类继承它的属性和方法就可以直接反序列化,不用调用父类的构造函数。但是如果未实现序列化接口,则需要构造一个这个子类对象来反序列化,这样就需要调用父类的构造函数来构造子类查看全部
-
对于对象中某个属性加上transient关键字可以是起步默认呗自动化,但仍可手动自动化。方法是重写类中的readObject方法与writeObject方法如下: private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ s.defaultWriteObject();//把jvm能序列化的元素自动序列化 s.writeInt(stuAge);//手动将transient元素序列 private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { s.defaultReadObject(); this.stuAge = s.readInt(); } transient这种做法的作用在于比如说有一个属性是一个数组,但这个数组并没有被占满,未被占满的元素空间就不应该被序列化应该逐个逐个手动序列化,直到将所有被占据的数组空间序列化就结束查看全部
-
对象的序列化就是将对象Object转换为byte序列,反之称为反序列化。ObjectOutputStream即为序列化流,ObjectInputStream是反序列化流,而在对对象序列化时一定要记得继承可序列化类,例如: public class Student implements Serializable ObjectOutputStream的操作方法是writeObject(对象),而ObjectInputStream的操作方法是readObject(),他返回的是一个Object类型,记得需要转化。查看全部
举报
0/150
提交
取消