-
文件读写流
查看全部 -
1、一个类实现了序列化接口,那么其子类都可以进行序列化。
2、对子类对象进行反序列化操作时,
如果其父类没有实现序列化接口
那么其父类构造函数会被调用
查看全部 -
ArrayList中序列化和反序列化:对于数组中没放满的元素不需要序列化。只对有效元素序列化,提高性能,所以需要手动序列化。
transient关键字:该元素不会进行jvm默认的序列化
序列化类实现方法签名
private void writeObject(java.io.ObjectOutputStream s)throws java.io.IOException{
s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作
s.writeInt(stuage);//自己完成stuage的序列化
}
private void readObject(java.io.ObjectInputStream s)
throws java.io.IOException,ClassNotFoundException{
s.defaultReadObject();//把jvm能默认反序列化的元素进行反序列化操作
this.stuage=s.readInt();//自己完成stuae的反序列化操作
}查看全部 -
对象的序列化,反序列化
查看全部 -
1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串;
2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法;
3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生;
4. PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush);
5. PrintWriter的构造方法更广
6.PrintWriter提供println()方法可以写不同平台的换行符,而BufferedWriter可以任意设定缓冲大小
查看全部 -
字节字符转换流
查看全部 -
这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读出操作时,都会加上缓冲,这种流模式提高了IO的性能
FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去
DataOutputStream--->writeXxx() 方法相当于一瓢一瓢
BufferedOutputStream-->write() 相当于一瓢一瓢放到桶里,在倒到水缸中
查看全部 -
DataInputStream 数据输出流。
DataOutputStream 数据输入流。
DataInputStream dps=new DataInputStream (文件输出流(FileInputStream));
readInt()
readLong()
readDouble()
readUTF()//采用utf-8读取
DataOutputStream dps=new DataIOutputStream (文件输入流(FileOutputStream));
writeInt()
writeLong()
writeDouble()
writeUTF() //采用utf-8
writeChars() //采用utf-16be
查看全部 -
.toHexString(名称 & 0xff)把字节以16进制的方式显示。
gbk编码中文占用2个字节,英文占用1个字节
utf-8编码中文占用3个字节,英文占用1个字节
utf-16be 中文占用2个字节,英文占用2个字节
如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码
中文系统下,ANSI编码代表GBK编码
查看全部 -
IO流(输入流、输出流)
查看全部 -
IO流(输入流、输出流)
查看全部 -
RandomAccessFile基本操作
查看全部 -
java.io.File 类用于表示文件(目录)
File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。
File file=new File(路径);
file.exists(); 文件是否存在
file.mkdir(); 新建文件夹
file.delete(); 文件删除
File.separator 设置分隔符
file.isDirectory(); 判断文件是否是一个目录
file.isFile();判断是否是一个文件
createNewFile(); 创建文件
file.getAbsolutePath() 返回文件路径
file.getName() 返回文件名字
file.getParent(); 返回父目录路径
file.mkdirs(); 创建多级目录
查看全部 -
.toHexString(名称 & 0xff)把字节以16进制的方式显示。
gbk编码中文占用2个字节,英文占用1个字节
utf-8编码中文占用3个字节,英文占用1个字节
utf-16be 中文占用2个字节,英文占用2个字节
如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码
中文系统下,ANSI编码代表GBK编码
当你用字节序列标识某种编码时,这个字节序列变成字符串,也需要这种编码方式,否则出现乱码
查看全部 -
对子类对象进行序列化操作时,父类的构造函数会被调用;对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用。
查看全部
举报