我有一个包含 1000 行的文本文件,格式如下:
19 x 75 Bullnose Architrave/Skirting £1.02
我正在编写一个逐行读取文件的方法 - 这工作正常。
然后,我想使用“£”作为分隔符拆分每个字符串,并将其写入ArrayList<String>
以下格式:
19 x 75 Bullnose Architrave/Skirting, Metre, 1.02
这就是我处理它的方式(productList
是ArrayList
在 try 块之外声明/实例化的 , ):
try{
br = new BufferedReader(new FileReader(aFile));
String inputLine = br.readLine();
String delim = "£";
while (inputLine != null){
String[]halved = inputLine.split(delim, 2);
String lineOut = halved[0] + ", Metre, " + halved[1];//Array out of bounds
productList.add(lineOut);
inputLine = br.readLine();
}
}
字符串没有分裂,我不断得到一个ArrayIndexOutOfBoundsException
. 我对正则表达式不是很熟悉。我也尝试过使用旧的StringTokenizer
但得到相同的结果。
£
作为 delim有问题还是其他问题?我确实想知道这是否与第二个令牌没有被读取为String
?
任何想法都会有所帮助。