2014-05-18 14 views
0

如何读取java中字符字段中的一行字符?从Java中的BufferReader中读取字符的字段

private char[] w; 
int i=0; 

BufferedReader br = new BufferedReader(new FileReader("pathToFile...")); 

char c = '-1'; 

while (c!='\n') { 
    w[i++] = (char) br.read(); 
} 

我得到 显示java.lang.NullPointerException

回答

1

我个人在这里使用ArrayList。

private List<Character> list = new ArrayList<Character>(); 

int i=0; 

BufferedReader br = new BufferedReader(new FileReader("pathToFile...")); 

char c = '-1'; 

while (c!='\n') { 
    list.add((char) br.read()); 
} 

就是这样的。

1

您需要创建数组的一个实例(在Java中,数组是一个对象 - 即使数组是原始类型 - 的)

private char[] w = new char[numberBigEnough]; 

请注意,我宁愿使用更动态的方法,vg使用StringBuilder实例。这样你就不必猜测线条的长度来指定数组的尺寸。

2

试试这个

private char[] w; 

BufferedReader br = new BufferedReader(new FileReader("pathToFile...")); 

String s = null; 
// to iterate for each line in file 
while ((s = br.readLine()) != null) { 
    // this will store chars of line 
    w = s.toCharArray(); 
    //TODO - do something based on w array 

} 
+0

+1会读取一个字符串,并使用该字符串而不是转换为'char []'。 –

相关问题