我有一个我想逐行阅读的字符串:
"8688642986379252 Michael_Thompson 816 2500.0
8904000405634912 Barbara_Martin
8610835007621519 Charles_Jackson 1019 52800.0"
以这种格式继续下去。
我尝试使用for循环,charAt()分离它,并使用substring()减少字符串的大小,但我失败了。
我确定它很简单,但我无法得到它。有什么想法吗?
答案 0 :(得分:4)
我建议使用str.split("\n")
。它将生成一个字符串数组,每行一个索引。这假设您可以将整个事物读成字符串。如果输入很大,这将无法正常工作。
答案 1 :(得分:0)
使用java.util.Scanner
类逐个读取令牌。
http://docs.oracle.com/javase/tutorial/essential/io/scanning.html
答案 2 :(得分:0)
使用Scanner
使用nextLine
逐行阅读。然后,将每个String
拆分为空格" "
:
Scanner scanner = new Scanner(stringWithBreaklines);
while (scanner.hasNext()) {
String line = scanner.nextLine();
String[] content = line.split(" ");
//do what you want/need with content
}
如果String
位于文件内,则使用Scanner
直接读取文件:
Scanner scanner = new Scanner(new File("file.txt"));
//same code as above...