如何读出字符串中的单个字符?

bmj 2007-08-13 09:31:15
我现在要在一个.txt文件中读一些数据,原来的数据是一些字符串,比如:jajjALIjkkjjklizou。。。现在我要一个一个的读出,也就是说第一次读j,然后是a,一直这样下去,我写了个,可老是报错,麻烦大家给看下,谢谢。
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.*;

/**
* @author huajun
*
*/
public class FileInput {

private ArrayList<Character> collection = new ArrayList<Character>();

private int charlength;

private Character[] returns = null;

public Character[] Input() {
File file = new File("f:/test.txt");

try {
BufferedReader in = new BufferedReader(new FileReader(file));
while ((charlength = in.read()) != -1) {
System.out.println((char) charlength);
collection.add((char) charlength);
}
in.close();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
System.out.println(collection);
charlength = collection.size();
System.out.println(charlength);
System.out.println("before returns!");
for (int m = 0; m < charlength; m++) {
System.out.println(m);
System.out.println(collection.get(m));
returns[m] = collection.get(m);//就是这里出不来,字符都能被读到Arraylist里面,可转换的时候不行。
}

return returns;
}

}
为什么?
...全文
296 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sklyk 2007-08-13
  • 打赏
  • 举报
回复
你的private Character[] returns = null;没有初始化
  • 打赏
  • 举报
回复
你的 returns 没有初始化过,也就是说要在 for (int m = 0; m < charlength; m++) 之前加上一行:returns = new Character[collection.size()]; 就可以了。

另:建议把以下三个成员变量去掉 private 放到方法体内。
private ArrayList<Character> collection = new ArrayList<Character>();
private int charlength;
private Character[] returns = null;
Dragon_sxw 2007-08-13
  • 打赏
  • 举报
回复
还有数组定义没有声明大小
private Character[] returns = null;

在charlength = collection.size(); 这句之后加上
returns = new Character[charlength];

这样就可以了
bmj 2007-08-13
  • 打赏
  • 举报
回复
to Dragon_sxw(宫城) :一样不行。。。。
Dragon_sxw 2007-08-13
  • 打赏
  • 举报
回复
ArrayList的get方法返回的是对象,你没有转型啊。。。
returns[m] = (Character)collection.get(m);
wenbo234 2007-08-13
  • 打赏
  • 举报
回复
帮顶啊 做个记号等高手来解答

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧