您的位置:程序门 -> java -> j2se / 基础类



一个输入的弱弱的问题,请教大家了


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个输入的弱弱的问题,请教大家了[已结贴,结贴人:zhiqingfly]
发表于:2007-05-23 19:14:57 楼主
在java中,如何将文件中的一系列小数读到一个数组中,假设文件的格式为:
65949
38729
61122.2
我用datainputstream类,但是读出的不是我想要的结果,那位大侠能够指点一下,小弟多谢了!
发表于:2007-05-23 19:59:561楼 得分:4
看到你是说从文件中
fileinputstream   fis   =   new   fileinputstream( "c://autoEXEC.bat ");
inputstreamreader   isr   =   new   inputstreamreader(fis);
bufferedreader   br   =   new   bufferedreader(isr);

string   s;

while((s=br.readline())!=null)
system.out.prrintln(s);

br.close()
发表于:2007-05-23 20:04:222楼 得分:0
你   遇到什么问题了?
发表于:2007-05-23 20:19:053楼 得分:0
whd2505()   说的也够详细了额
发表于:2007-05-23 21:29:024楼 得分:0
谢谢楼上的大哥,可是我想把数字存在数组中,并不想把它打印在标准输出上啊!
发表于:2007-05-23 23:27:165楼 得分:6
import   java.io.*;

class   streamtest{
public   static   void   main(string[]   args)   throws   exception{
randomaccessfile   br=new   randomaccessfile( "1.txt ", "rw ");  
string   s;

int   i=0;
int   j=0;
while((s=br.readline())!=null){
i++;
}
float[]   fa=new   float[i];
br.seek(0);
while((s=br.readline())!=null){
try{
fa[j]=float.parsefloat(s);
}catch(numberformatexception   ex){
continue;//如果某一行不符合数字格式,跳过不写进数组
}
system.out.println(fa[j]);
j++;
}
br.close();
}
}
看看这是不是你想要的。


关键是利用randomaccessfile的seek()方法,不然的话,确定数组可能的最大长度之后再回到文件的开头很困难。
发表于:2007-05-24 11:22:446楼 得分:0
谢谢楼上大哥!
发表于:2007-05-24 11:25:567楼 得分:0
bateinputstream也ok
发表于:2007-05-24 11:30:128楼 得分:0
fileinputstream   fi   =   new   fileinputstream( "地址 ");
inputstreamreader   in   =   new   inputstreamreader(fi);
bufferedreader   bu   =new   bufferedreader(in);
下面的操作用bu就可以了
发表于:2007-05-24 11:57:559楼 得分:0
谢谢师兄们!
发表于:2007-05-24 12:13:4410楼 得分:0
小弟把问题搞定了!


快速检索

最新资讯
热门点击