我知道这是一个非常问的问题,但我找不到我的问题的适当答案。事情是我必须像这样从 .TXT 文件中读取的程序和应用程序
Real:Atelti
Alcorcon:getafe
Barcelona:Sporting
我的问题是我该怎么做才能告诉Java我想要String before : 在一个ArrayList 和Strings after : 在另一个ArrayList 中?我猜它使用的是分隔符方法,但我不知道在这种情况下如何使用它。
对不起我的英语不好,我想我必须改进它。谢谢
我知道这是一个非常问的问题,但我找不到我的问题的适当答案。事情是我必须像这样从 .TXT 文件中读取的程序和应用程序
Real:Atelti
Alcorcon:getafe
Barcelona:Sporting
我的问题是我该怎么做才能告诉Java我想要String before : 在一个ArrayList 和Strings after : 在另一个ArrayList 中?我猜它使用的是分隔符方法,但我不知道在这种情况下如何使用它。
对不起我的英语不好,我想我必须改进它。谢谢
使用“:”作为分隔符拆分字符串。将结果中的奇数条目添加到一个列表,甚至添加到另一个列表。
如果你的文字是这样的:
皇马:阿泰尔蒂
阿尔科康:赫塔菲
巴塞罗那:体育
您可以通过以下方式实现您想要的:
StringBuilder text = new StringBuilder();
Scanner scanner = new Scanner(new FileInputStream(fFileName), encoding); //try utf8 or utf-8 for 'encoding'
try {
while (scanner.hasNextLine()){
String line = scanner.nextLine();
String before = line.split(":")[0];
String after = line.split(":")[1];
//dsw 'before' and 'after' - add them to lists.
}
}
finally{
scanner.close();
}
1.用作":"
分隔符。
2.然后将它们存储在String[]
usingsplit()
函数中。
3.尝试使用BufferedReader
而不是扫描仪。
例如:
File f = new File("d:\\Mytext.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
ArrayList<String> s1 = new ArrayList<String>();
ArrayList<String> s2 = new ArrayList<String>();
while ((br.readLine())!=null){
String line = br.readLine();
String bf = line.split(":")[0];
String af = line.split(":")[1];
s1.add(bf);
s2.add(af);
}
Scanner scanner = new Scanner(new FileInputStream("YOUR_FILE_PATH"));
List<String> firstList = new ArrayList<String>();
List<String> secondList = new ArrayList<String>();
while(scanner.hasNextLine()) {
String currentLine = scanner.nextLine();
String[] tokenizedString = currentLine.split(":");
firstList.add(tokenizedString[0]);
secondList.add(tokenizedString[1]);
}
scanner.close();
枚举 firstList 和 secondList 将为您提供所需的结果。