RandomAccessFile 类出问题了 RandomAccessFile 类往一个文件中写数据,写的时候正常,但是写的数据在新文件中看不到,似乎是丢失了!这是怎么回事呢,原来是可以写的,但是突然之间就不行了,这是由什么原因造成的,该怎么办!!!!请高手不吝赐教!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写完了关闭看一下行不行我昨天也遇到一个同样的问题,用FileWriter写文件时,如果不关闭的话是写不进去的 我这个不关闭也能写的.已经试了.最好是要关闭,养成好习惯.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()); } }} 非常感谢大家的帮助,下面是我的代码,文件我写完后就关闭了!!! 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后还是不行啊。原来我就是按照这种办法写文件的,但是突然之间就不行了 } 晕死了,FileWriter、FileOutputStream也写不到文件里去了。我现在该怎么办,难道要重装系统吗??天啊!!! 这句分页在sqlserver中如何写? 一例子,帮分析 怎么遍历HashSet把参数转到Map里 怎么用java语言判断登录邮箱成功啊 有做过类似Editplus编辑器的吗?文本编辑,左边显示1、2、3..所在的行数,是怎么实现的? 有一个BufferedImage只有黑白两色,如何把它复制到另外一地方,黑色变成灰色,白色不变(除了如下遍历的方法) 一个自定义标签的问题(急!急!)急!)急!)急!)急!)急!)急!)) Android源码的Java部分能否分散到多个机器编译? 有人考过SCJP吗? 大家帮我看看!!! 框架的作用?希望详细点,或者给文档也可以. 如何显示两个日期间的所有日期
我昨天也遇到一个同样的问题,用FileWriter写文件时,如果不关闭的话是写不进去的
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());
}
}
}
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后还是不行啊。原来我就是按照这种办法写文件的,但是突然之间就不行了 }