问答详情
源自:6-1 序列化基本操作

java中序列化基本操作

这节里面老师一开始定义了String file="demo/obj.dat";这里file的类型为String字符串吧,为什么后面可以当文件来用,而且还创建了obj.dat这个文件,为啥不写成File file="demo/obj.dat";

提问者:大鼻子浩浩 2016-10-11 10:35

个回答

  • 深天
    2016-10-11 16:34:40
    已采纳

    Stirng file =“demo/obj.dat" 这里仅仅是创建了一个字符串,并没有当做文件用。

    还有File file="demo/obj.dat";这种创建文件对象的方法是完全错误的,正确写法是这样的:

    File file=new File("demo/obj.dat");

    回到刚才"为什么后来可以当做一个文件用":同上一句话可以改写成

    File file01 =new File(file);  //这里的的file引用上面的字符串

    即我们做的只是对字符串的引用,然后创建了一个文件对象,并没有说我们把它当做一个文件来使用了。

    同理老师源码:

    String file = "demo/obj.dat";

    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));

    在这里也是做字符串引用的,两句话其实可以改写成一句话

    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("demo/obj.dat"));