| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:看了半天看不出头绪,大家给分析一下
只看楼主 加入收藏
songdeguang
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-5
收藏
 问题点数:0 回复次数:2 
看了半天看不出头绪,大家给分析一下

import java.io.*;

public class randFile {
final static int DoubelSize=8;
void randomFileTest(String fileName) throws IOException {
RandomAccessFile rf = new
RandomAccessFile(fileName, "rw");
for(int i = 0; i < 10; i++) rf.writeDouble(i*1.0);
rf.seek( 5 * DoubelSize );
rf.writeDouble(98.0001);
rf.close( );
rf = new RandomAccessFile(fileName, "r");
for(int i = 0; i < 10; i++)
System.out.println("Value " + i +
": " + rf.readDouble( ));
rf.close( );
}
public static void main(String args[ ]) {
BufferedReader stdin=new BufferedReader(
new InputStreamReader(System.in));
String fileName=null;
randFile obj=null;
try{ System.out.print("Enter a file name: ");
fileName=stdin.readLine( );
obj=new randFile( );
obj.randomFileTest(fileName);
}catch(IOException e) {
System.out.println("File not found : "+e);
e.printStackTrace( );
}
}
}

运行结果是:
Enter a file name : randfile.txt
Value 0: 0.0
Value 1: 1.0
Value 2: 2.0
Value 3: 3.0
Value 4: 4.0
Value 5: 98.0001
Value 6: 6.0
Value 7: 7.0
Value 8: 8.0
Value 9: 8.0

搜索更多相关主题的帖子: 头绪 int fileName java 
2006-04-14 17:44
伯约
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-4-5
收藏
得分:0 
不知道你那看不懂,是不是对写入位置?我觉得搞清楚writeDouble()是写入一个四个字节的双精度浮点型,而你的seek()函数是以字节移动的,把它搞清楚了你就明白是怎么输出的了.你可以在
for(int i = 0; i < 10; i++) rf.writeDouble(i*1.0);
rf.seek( 5 * DoubelSize );
这两句后面分别加上System.out.println(rf.getFilePointer());就可以看出指针移动的情况了.

2006-04-15 08:55
songdeguang
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-4-5
收藏
得分:0 

哦太谢谢了


STUDY AND STUDY—JAVA
2006-04-17 10:26
快速回复:看了半天看不出头绪,大家给分析一下
数据加载中...
 
   



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

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