标题:文件怎么读写的?
取消只看楼主
伯约
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-4-5
 问题点数:0 回复次数:2 
文件怎么读写的?

以下是源程序代码:
import java.io.*;
public class TestRead {
public static void main(String[] args) {
int[]a={'g','o','o','d','b','y','e',' ','m','y','l','o','v','e'};
int i=0;
File f1=new File("F:/MyJava/RAF.txt");
try
{
RandomAccessFile f=new RandomAccessFile(f1,"rw");
while((i=f.read())!=-1)
{
System.out.print((char)i);
}
System.out.println();
System.out.println(f.getFilePointer());
System.out.println(f.length());
for(i=0;i<a.length;i++)
{
f.write(a[i]);
}
System.out.println(f.getFilePointer());
System.out.println(f.length());
while(f.read()!=-1)System.out.print((char)f.read());
System.out.println();
f.seek(0);
while(f.read()!=-1)System.out.print((char)f.read());
System.out.println(f.length());
}catch(Exception e)
{
System.out.println(e.toString());
}
}
}
F:/MyJava/RAF.txt的文件运行前的内容为:this is a RandomAccessFile example!

程序运行后文件的内容为: this is a RandomAccessFile example!goodbye mylove
程序运行结果为:
this is a RandomAccessFile example!
35
35
49
49

hsi admcesieeapegobemlv?49
Press any key to continue...
最后一行是什么意思牙,看不懂.
谁能告诉程序是怎么运行的? 还有就是read()函数不是读入的一个字节吗?但是你即使是读一个字节它好像是读的一个字符呀?这一点我不懂?

搜索更多相关主题的帖子: 文件 
2006-04-07 15:51
伯约
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-4-5
得分:0 
while((i=f.read())!=-1) System.out.print((char)i);
while(f.read()!=-1) System.out.print((char)f.read());
这两句有什么不一样吗?前一句就能够按预计输出,可后一句怎么就看不懂了呢?
还有就是好像java语言里面的一个字符不是占两个字节吗?刚好不是一个unicode代码吗?
我还是不明白呀!能说清楚一点吗? 非常感谢!

2006-04-08 09:42
伯约
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-4-5
得分:0 
哦,明白了!谢谢呀!

2006-04-08 12:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-55822-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.802114 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved