作者abruce042 (abruce042)
看板java
标题[问题] 读取TXT,读取值後存入阵列中起始显示多一码?
时间Thu Oct 22 00:12:57 2009
我所写的程式功能为
读取TXT档案後,把里面的个别数值存入设定好的阵列中
但是在执行的时候,显示第一个数值的前面多了一个数值。
以下是我的程式
import java.io.*;
public class c2java {
public static void main(String args[]) {
float f[] = new float[4];
String s = new String();
try {
File file5 = new File("a.txt");
RandomAccessFile randomAccessFile =
new RandomAccessFile(file5, "r");
int c = randomAccessFile.read();
randomAccessFile.seek(0);
while (c != -1) {
s = s + (char) c;
c = randomAccessFile.read();
}
randomAccessFile.close();
System.out.println("此为读入之字串:" + s);
f = string2float_array(s);
System.out.println("转成浮点数阵列:");
for (int i = 0; i < f.length; i++) {
System.out.println(f[i]);
}
}
catch (IOException ie) {
System.out.println("no file");
}
}
public static float[] string2float_array(String s) {
float f[] = new float[4];
String[] test = s.split(" ");
for (int i = 0; i < test.length; i++) {
f[i] = Float.parseFloat(test[i]);
}
return f;
}
}
TXT档案内容为:333 -3.2 -3 -6
但是输出显示却变成:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此为读入之字串:3333 -3.2 -3 -6
转成浮点数列阵:
3333.0
-3.2
-3.0
-6.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
语法我看不出哪里有问题????
还烦请高手、专家替我解答
还请解释的简单一些,我还是个刚上路的新手,谢谢指教!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.20.84
※ 编辑: abruce042 来自: 140.130.20.84 (10/22 00:13)
※ 编辑: abruce042 来自: 140.130.20.84 (10/22 00:15)
※ 编辑: abruce042 来自: 140.130.20.84 (10/22 00:21)
1F:→ Earvin:应该是因为call了seek(0) , 只读取可不用RandomAccessFile 10/22 06:05
2F:→ PsMonkey:快要触犯作业文条款了.... 10/22 08:27
3F:推 kirovmei:一般读取档案就好了 为什麽要RandomAccessFile? 10/22 21:45
这个是参考学长的...不过他毕业了无从问起;我这只是测试存入的练习= =应该还不算作
业文吧...如果是的话 我自D;我先再看看书籍好了...
※ 编辑: abruce042 来自: 140.130.20.84 (10/23 10:12)
4F:推 PsMonkey:版规看不懂可以问,但是不看板规就没的谈了... Orz 10/23 16:06
好的...我会小心的...谢谢提醒
※ 编辑: abruce042 来自: 140.130.20.84 (10/23 19:30)