编程语言
首页 > 编程语言> > Java learn 对象流 及其编码时所遇到的细节问题

Java learn 对象流 及其编码时所遇到的细节问题

作者:互联网

对象流:

首先,对象流指的是可以直接把一个对象以流的形式传输给其他的介质,比如硬盘
一个对象以流的形式进行传输,叫做序列化该对象所对应的类,必须是实现Serializable接口

1、实操:
序列化一个对象:
需要导入这两个包
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
Object 就是一个大类 对象流的创建需要

创建的对象保存于文件上 且这个文件时事先准备好的 务必让这个对象的类实现Serializable接口
之后的写法和以往的流的形式写法一致 但是类型是类类型 同理也是建立在字节流基础上再创建对象流

细节部分:
关于BufferedWriter和PrintWriter的区别
用代码运行示例:

package le;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class digital{
      public static void main(String[] args) {
    	  File f=new File("D:\\Jproject\\流.txt");
    	  try(
    			 
    			  FileWriter fx=new FileWriter(f);
    			  BufferedWriter sf=new BufferedWriter(fx);
    			  PrintWriter wf =new PrintWriter(fx);
    			  )
    	  {
    		 String str="dio自有迹象";
    		 sf.write(str);
    		 sf.flush();
    		wf.println("sododjjd");
    	  }catch(IOException e)
    	  {
    		  e.printStackTrace();
    	  }
		
      }
}

在这里插入图片描述
有 sf.flush(); 才会把两种写入方法都展现
如果不写 sf.flush(); 就只有wf.println(“sododjjd”);这一句
因为BufferedWriter sf=new BufferedWriter(fx); 需要flush强制写入
PrintWriter好处就在不用这样。

注意:
1、char ch[]=new char[(int)file.length()]; 此种语句在针对读取写入时都会有的 其长度是文件长度但是注意转型为int。
2、注意数字转字符串 字符串转数字怎么写
封装Integer 再toString 数字转字符串
字符串放入Integer.parseInt();里面转数字。

标签:时所,Java,java,new,BufferedWriter,io,learn,import,sf
来源: https://blog.csdn.net/yooppa/article/details/120578927