前几天需要写个读取和存入文件的程序,由于本人接触JAVA时间不长,一下就被各种流搞乱了头,后来整理一下,写出一点心得
读入double类型的数据,以TAB键为分隔符
fileReader= new FileReader("33geneSim.txt"); bufferedReader = new BufferedReader(fileReader);
先用文件读取,再用处理流处理成字符型
int n = 0; while ((line = in.readLine()) != null) { String[] SGene = line.split(" "); for(int i=0; i < SGene.length; i++) { //将字符型数据转换为浮点型并存入数组 double Temp = Double.parseDouble(SGene[i]); FEffect[n] = Temp; n++; } }
用BufferedReader的readline方法一行一行读入,再用split方法将读入的数据分成字符型数组(注意这里打印出来虽然是数字,但是本质上是字符型,可以设置函数自己检验),我的目的是将读取的数据全部村日一个double型数组,于是调用parseDouble方法,将字符型转换为double型再存入数组,大功告成,由于我最先接触流,没接触过Scanner类,所以没采用Scanner类的方法
对于将一个已有的数组存入文件,我采用了如下方法
PrintWriter out = new PrintWriter("00JEffect.csv"); for(i = 0; i < b_full.length; i++) { out.println((i+1) + "," + b_full[i]); } out.close();
这种方法很简单,直接以double型打出来,out.println()方法可以直接转换。