java里把一个二进制格式的文本为输出到数组中,怎么办?

来源:百度知道 编辑:UC知道 时间:2024/05/25 04:32:34
我自己在程序里写入了一个二进制格式的文本,保存为txt1;
现在我想把文本里的数据以 不定长数组 的形式读出来,以空格和\n为分界标志。
怎么读啊?
我用public static int[] readFileStr(String fileName){

try {
FileInputStream in = new FileInputStream(fileName);
int[] a=null;
for(int i=0;;i++)
{a[i]=in.read();
return a;
}
}
catch (IOException e) {
System.out.println("读文件" + "失败!");
e.printStackTrace();
return null;
}
然后int[] a = readFileStr("c:/VRLog/robot2map.log");
seu.Logger.LogFileWriter.writeString(a[0] +"haha",100, "a.log");试图把这个数组显示a.log中看到底保存了哪些数据。
可是运行提示抛出异常?
为什么呢?怎么修改?谢谢!
哦,错了,return拿出来,但问题不变~

int[] a=null;
你的数组只定义了名称,但是没有分配空间,运行肯定是要抛出异常的。
你可以考虑用集合来实现。

for(int i=0;;i++)
{a[i]=in.read();
return a;
}

这段不明白
是不定长循环吗?
不过return 为什么在循环体内部?