-
BufferedInputStream与其他读写方法的区别查看全部
-
字节流与字符流输入输出的基本方法查看全部
-
字节流的输入输出方法查看全部
-
字节流的使用方法查看全部
-
RandomAccessFile的使用方法查看全部
-
RandomAccessFile的功能查看全部
-
file查看全部
-
输入输出查看全部
-
单字节读取对于大文件效率不高,应该使用批量读取!查看全部
-
一个类实现了Serializable接口,其子类都可以直接进行序列化(子类不需要再继承接口) Java中创建子类对象时,子类构造函数中会默认调用父类的构造函数. 对子类的序列化时会调用其父类的构造函数再调用自己的构造函数. 对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用.查看全部
-
transient 关键字:被transient修饰的元素,该元素不会进行jvm默认的序列化,但可以自己完成这个元素的序列化 注意:(1)在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;对有效元素序列化,提高性能。 (2)可以使用writeObject自己完成这个元素的序列化。ArrayList就是用了此方法进行了优化操作。ArrayList最核心的容器Object[] elementData使用了transient修饰,但是在writeObject自己实现对elementData数组的序列化。只对数组中有效元素进行序列化。readObject与之类似。查看全部
-
RondomAccessFile查看全部
-
对象的序列化,反序列化 1.对象序列化,就是将对象转换成byte序列 对象的反序列化,就是把byte序列转换为对象 2.序列化流(ObjectOutputStream),是过滤流---writeObject(); 反序列化(ObjectInputStream)---readObject(); ObjectOutputStream、ObjectInputStream的构造函数参数都是InputStream、OutputStream抽象类的对象,所以要用其子类FileInputStream、FileOutputStream来构造. 3.序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常. 这个接口没有任何属性和方法,只是一个标准 反序列化的时候readObject()读取出来的是Object(所有引用类的父类)类型的,所以要强制类型转换为对应的类。 ObjectInputStream ins=new ObjectInputStream(new FileInputStream(file)); Student stu=(Student)ins.readObject()查看全部
-
字符流的过滤器: BufferedReader、BufferedWriter继承于Readerd、Writer. BufferedReader构造函数参数是Reader抽象类,所以要用他的另一个子类InputStreamReader来构造。而InputStreamReader的构造方法是InputStream对象,所以要用InputStream的子类FileInputStream来构造. BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; line = br.readLine(); 一次读取一行,不能识别换行 System.out.println(line); 一次写入一行 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))); bw.write(line); bw.newLine(); 单独换行操作 bw.flush(); //字符流的所有Output的流write()后都要flush()来刷新此流缓冲 PrintWriter是继承于Writer的,构造方法是File或String name; 构造方便。 PrintWriter pw=new PrintWriter("E:\\java\\text.txt") pw.println(line);//自动换行 pw.flush(); //也是需要flush()刷新此缓冲.查看全部
-
FileReader,FileWrite是继承于InputStreamReader,OutputStreamWrite的. FileReader/FileWriter可以直接写文件名的路径。与InputStreamReader相比坏处:无法指定读取和写出的编码,容易出现乱码。只能读取与项目编码方式相同的文件 FileReader,FileWrite的构造函数是一个file类就可以 FileReader a=new FileReader(new File("E\\java\\text.txt")); FileWriter a=new FileWriter(new File("E\\java\\text.txt"),true); //如果为true则追加 InputStreamReader的构造函数则是inputStream的,所以参数用FileInputStream的对象 InputStreamReader a=new InputStreamReader(new FileInputStream("E\\java\\text.txt")); FileWrite中每write()一次就要用flush()方法来刷新该流缓冲.查看全部
举报
0/150
提交
取消