Java文件随机读取有关问题~
Java文件随机读取问题~~~~~急!!!在线等很久没弄文件随机读取了,这回遇到需求,好了 不啰嗦 直接上代码:没有
Java文件随机读取问题~~~~~急!!!在线等
很久没弄文件随机读取了,这回遇到需求,好了 不啰嗦 直接上代码:
没有输出任何东西,如果设置skipBytes(0);就能输出了,
不知道这是什么问题?该如何解决才好呢? Java 文件随机读取 RandomAccessFile skipBytes
[解决办法]跳过中文是把?
RandomAccessFile randomAccessFile;
try
{
randomAccessFile = new RandomAccessFile("RandomAccess.txt", "rw");
//设置文件的内容为0字节
randomAccessFile.setLength(0);
//循环写入
String loveStr = "我爱你!i love you!";
byte[] bArr = loveStr.getBytes();
for (int i = 0; i < 5; i++)
{
randomAccessFile.write(bArr);
}
System.out.println("=>" + randomAccessFile.getFilePointer());
// 重新把文件指针定位到开始处
randomAccessFile.seek(0);
System.out.println("=>" + randomAccessFile.getFilePointer());
//跳过中文?
byte[] zhByte = "我爱你!".getBytes();
randomAccessFile.skipBytes(zhByte.length);
System.out.println("=>" + randomAccessFile.getFilePointer());
byte[] data = new byte[bArr.length - zhByte.length];
while ((randomAccessFile.read(data)) != -1)
{
String str = new String(data,"GBK");
System.out.println(str);
randomAccessFile.skipBytes(zhByte.length);
}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
------解决方案--------------------
你改为只读模式了,就不能再使用setLength方法了,你把setLength(0)执行,就等于把内容都请空了。