我将以下数据存储在.txt文件中:
one,1
two,2
three,3
......
我想将信息存储在具有以下结构的数组中:
[one,1,two,2....]
到目前为止,这是我的代码:
public Shortener( String inAbbreviationsFilePath ) throws FileNotFoundException {
Scanner s = new Scanner(new File(inAbbreviationsFilePath));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext()){
list.add(s.next());
}
abbreviations = list.toArray(new String[list.size()]);
s.close();
}
我的问题是我无法存储数组,因此一个和一个位于不同的位置。即数组的结构如下[one1,two2,...]。
提前感谢您的帮助
答案 0 :(得分:0)
您必须按昏迷分割每一行,并将其中的两部分添加到结果列表中:
public Shortener( String inAbbreviationsFilePath ) throws FileNotFoundException {
Scanner s = new Scanner(new File(inAbbreviationsFilePath));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext()) {
//HERE
String line = s.next();
String[] lineSplit = line.split(","); //split into two tokens
list.add(lineSplit[0]); //word
list.add(lineSplit[1]); //number
}
abbreviations = list.toArray(new String[list.size()]);
s.close();
}
答案 1 :(得分:0)
使用此代替while循环,
String str;
String []st;
while ((str=s.nextLine())!=null){
st=str.split(",");
list.add(st[0]);
list.add(st[1]);
}
答案 2 :(得分:0)
试试这个
Scanner s = new Scanner(new File...
s.useDelimiter("\\s+|,");