我有一個由我做的日誌,我希望我的程序可以按月在日誌中搜索。 這裏是我的file.txt的格式:無法正確分割txt文件,ArrayIndexOutOfBoundsException
[31 13年2月8日21時55分47秒] Name_Surname 0A49G 21
當第一個數字是一年的一週(我設法得到我可以按星期搜索,而且雖然它在本月會是一樣的,但看起來我錯了),接下來的3個數字是日/月/年。 問題是我無法拆分數組(因爲netBeans說「線程中的異常」AWT-EventQueue-0「java.lang.ArrayIndexOutOfBoundsException:1」)。我標記了netBeans所說的問題。我想要的是獲取月份的數量,以便我可以進行搜索。
下面是代碼:
textoMostrado.setText("");
FileReader fr = null;
try {
File file = new File("Registro.txt");
fr = new FileReader(file);
if (file.exists()) {
String line;
BufferedReader in = new BufferedReader(fr);
try {
int mes = Calendar.getInstance().get(Calendar.MONTH);
mes++;
int año = Calendar.getInstance().get(Calendar.YEAR);
año %= 100;
while ((line = in.readLine()) != null) {
String[] lista = line.split(" ");
String [] aux = lista[1].split("/"); //the problem is here
int numMes = Integer.parseInt(aux[1]);
int numAño = Integer.parseInt(aux[2]);
if ((numMes==mes)&&(numAño==año)) {
textoMostrado.append(line+"\n");
}
}
} catch (IOException ex) {
Logger.getLogger(MostrarRegistros.class.getName()).log(Level.SEVERE, null, ex);
}
}
} catch (FileNotFoundException ex) {
Logger.getLogger(MostrarRegistros.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fr.close();
} catch (IOException ex) {
Logger.getLogger(MostrarRegistros.class.getName()).log(Level.SEVERE, null, ex);
}
}
對不起,我的英語不是我的母語,我希望有人能幫助我與此有關。
你用調試器停下來看看那行的lista的內容嗎?您可能正在閱讀與該模式不匹配的某行(可能是評論或空白行)。 – chrylis