RandomAccessFile 类往一个文件中写数据,写的时候正常,但是写的数据在新文件中看不到,似乎是丢失了!这是怎么回事呢,原来是可以写的,但是突然之间就不行了,这是由什么原因造成的,该怎么办!!!!
请高手不吝赐教!!!!!!!

解决方案 »

  1.   

    写完了关闭看一下行不行
    我昨天也遇到一个同样的问题,用FileWriter写文件时,如果不关闭的话是写不进去的
      

  2.   

    我这个不关闭也能写的.已经试了.最好是要关闭,养成好习惯.import java.io.*;
    import java.util.Scanner;
    class IoTest{
    public static void main(String[] args){
    Scanner s=new Scanner(System.in);
    String info=s.next();
    try
    {
    RandomAccessFile logFile = new RandomAccessFile("e:/IoTest.txt","rw");
    logFile.writeBytes(info);
                //logFile.close();
    System.out.println("信息已写入文件");
    } catch(IOException ioe)
    {
    System.out.println("无法写入文件:"+ioe.getMessage());
    }
    }
    }
      

  3.   

    非常感谢大家的帮助,下面是我的代码,文件我写完后就关闭了!!!
                               String testDat = "/d.dat";
    rf = new RandomAccessFile(testDat, "rw");
    int times = 10;
    rf.writeByte(times);
    for (int i = 0; i < times; i++) {                         rf.writeByte(1);
    }
    rf.seek(0);
    for (int i = 0; i < times; i++) {
    System.out.println(rf.readByte());//在这里可以读到数据
    }
    rf.close();
    // System.gc(); DataInputStream dis = new DataInputStream(testDat.getClass()
    .getResourceAsStream(testDat)); if (dis.available() > 0) {
    int count = dis.readByte();
    byte buffer[] = new byte[count];
    dis.readFully(buffer); for (int i = 0; i < buffer.length; i++) {
    System.out.println(buffer[i]);
    }
    } else {
    System.out.println(" file is null");
                               //程序总是运行到这里,数据写不进去,关了编辑器也不行,重新解压覆盖原来
    //的eclipse不行,重装JDK后还是不行啊。原来我就是按照这种办法写文件的,但是突然之间就不行了 }
      

  4.   

    晕死了,FileWriter、FileOutputStream也写不到文件里去了。我现在该怎么办,难道要重装系统吗??天啊!!!