我有一个读取管道分隔文件的要求,并将它填充到字符串数组中,并将其作为列表传回并在下面进一步处理 。Java空值导致读取管道分隔文件时出现问题
Sample data : X|ABCD|001111006|1111006|ABC|test006| | | | | |C|||||||||||||
Note : Sample data can have both NULL and space between pipe
这是工作正常,如果数据是在所有的管区划界定可用,至少一个空间, 但在管之间的空值
有26个属性和每当有NULL阵列索引不是 从NULL可用的基数增加。说时,有12个管阵列未填充,直到25 NULL它停在12,这在我的进一步处理
craeting问题和文件可以同时具有NULL和空间。你能不能帮我解决这个问题
public List<String[]> readFile(String FileName) {
final List<String[]> userList = new ArrayList<String[]>();
BufferedReader bufferedreader = null;
try {
int i=0;
bufferedreader = new BufferedReader(new FileReader(FileName));
String line = null;
while ((line = bufferedreader.readLine()) != null) {
final String[] values = line.split("\\|");
userList.add(values);
}
}
catch (FileNotFoundException ex) {
CTLoggerUtil.logError(ex.getMessage());
}
catch (IOException ex) {
CTLoggerUtil.logError(ex.getMessage());
}
finally {
try {
if (bufferedreader != null)
{
bufferedreader.close();}
}
catch (IOException ex) {
CTLoggerUtil.logError(ex.getMessage());
}
}
return userList;
}
String.split()的文档说连续的分隔符不被视为一个。你可以检查分割后的值是多少? – SJuan76