问答详情
源自:3-1 RandomAccessFile基本操作

RandomAccessFile测试

  1. 重新run程序,为什么输出的内容没有更新??必须每次自己手动删除已经创建的文件吗?

  2. 为什么创建的文件不在电脑硬盘上显示出来?

  3. 利用write写入一个整数,为什么读不出来呢?读出来是乱码。。。默认jbk编码

提问者:helloworld2008 2016-07-20 10:21

个回答

  • XhstormR
    2016-09-13 23:40:05

    还在吗?

  • helloworld2008
    2016-07-20 15:36:43

    感谢回答:

    问题1每次运行都有变化,不知道早上是怎么回事,是看错了,还是怎么的。。。

    问题2的确是这样的,我写到了项目的路径下,所以看不到。

    问题3,也清楚了为什么显示乱码,利用writeInt(61)写入,后getbytes:[0 0 0 61],转字符串为“空格空格空格=”代码如下:

         raf.writeInt(61);

        raf.seek(0);

         byte[] by = new byte[(int) raf.length()];

         raf.read(by);

         System.out.print("从文件读出来的字节为: ");

         for(byte b : by){    System.out.print(b + " ");    }

         System.out.println();

         String tempStr = new String(by);

         System.out.println("转字符串为:" + tempStr);

    输出为:

        写入后文件大小为: 4

        从文件读出来的字节为: 0 0 0 61 

        转字符串为:空空空=

        转十六进制为: 0 0 0 3d 

    但是还是请大神解答:程序如何将整型编码,如何正确读出整型?


  • SilenceDean
    2016-07-20 13:23:21

    和视频里的代码再对照一遍,确定一样么,把代码贴出来吧

    1.重新run是指修改了write的内容重新run?


    2.视屏里文件选用的是相对路径,是在Eclipse的默认安装路径下,找不到安装路径的话可以指定E:\\这样的绝对路径

    3. 乱码肯定代码写错了呗,你不贴出来也不知道你具体哪块有问题