-
一个类实现了序列化接口,那么其子类都可以进行序列化 序列化时调用父类函数中的构造函数 对子类进行反序列化,若父类没有实现序列化接口,那么会显式调用父类构造函数查看全部
-
序列化和反序列化操作查看全部
-
private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ s.defaultWriteObject();//把JVM默认序列化的元素进行序列化操作 s.writeInt(stuage);//被transient修饰的元素stuage自己完成序列化查看全部
-
transient关键字定义的变量不会进行虚拟机默认的序列化查看全部
-
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(); }查看全部
-
BufferedReader cr1=new BufferedReader(new InputStreamReader(new FileInputStream("文件路径"))); BufferedReader和BufferedWriter都不会换行,需要单独写出 Writer的换行cr2.newLine(); PrintWriter pw=new PrintWriter("file路径"); 换行 pw.println(line);查看全部
-
FileWriter fw=new File Writer("文件或者文件路径",true); 追加内容,不会删除 FileReader和FileWriter的使用 public static void main(String[] args) throws IOException { FileReader fr = new FileReader("F:\\IO流\\file读写操作\\fr.txt"); FileWriter fw = new FileWriter("F:\\IO流\\file读写操作\\fw.txt"); // 加上true是追加内容 FileWriter fw2 = new FileWriter("F:\\IO流\\file读写操作\\fw_true.txt", true); // 单个写入 fw2.write("完成"); // 成组写入 char[] buffer = new char[1024]; int c; while ((c = fr.read(buffer, 0, buffer.length)) != -1) { System.out.print(buffer); fw.write(buffer, 0, c); fw.flush(); } fr.close(); fw.close(); fw2.close();查看全部
-
字符流 文本和文本文件 java的文本(char)是16位无符号的整数,是字符的Unicode编码(双字节编码)文件是byte,byte,byte的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的储存序列 字符流(Reader Writer) 字符的处理,一次处理一个字符,字符的底层,仍然是基本的字节序列 字符流的基本实现 InputStreamReader完成byte流解析为char流,按照编码解析 OutputStreamWriter提供char流到byte流,按照编码处理查看全部
-
FileOutStream out=new FileOutStream("文件路径",boolean append); 如果文件名后面为TRUE,则若文件已存在,则追加内容; 如果文件后面无内容,则若存在,就先删除再创建;不存在则创建查看全部
-
out和in相似查看全部
-
输入、输出流的基本方法查看全部
-
Integer.toHexString(b & 0xff) //Integer.toHexString()可将括号内的整数转化为字符串查看全部
-
ok查看全部
-
Mark查看全部
-
来自woider的评论: 缓冲字节流这一节希望重新录更正错误,使用缓冲字节流复制确实是最快的方式,但对于小文件10M以下的文件体现不出优势,对于百兆文件正确使用,时间可以控制到50ms内。视频中的缓冲字节流使用有错误,复制文件最快的做法是将批量读取到的字节数组使用缓冲写入到文件,在机器性能范围内字节数组越大越快。在循环写入的过程中不需要使用flush,就像cwt8805说的,缓冲输入流在关闭的时候会将所有缓冲区的数据全部写入文件,使用flush刷新缓冲就失去了缓冲的意义。最后关闭IO流和文件流应该在finally中关闭,否则IO异常时执行不到close语句,IO流仍然没有关闭。查看全部
举报
0/150
提交
取消