我有一個讀取管道分隔文件的要求,並將它填充到字符串數組中,並將其作爲列表傳回並在下面進一步處理 。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