我有一个文本文件,里面有两列(名字和生日)。在第一栏我有两个名字(john和brayn)。我只想得到名字 brayn 和他的生日。我怎样才能做到这一点?
我的文字档案:
名称 生日
约翰1991年
brayn 1994年
在我尝试的代码段下面:
import java.io.*;
class Detail{
public static void main(String[] args) throws Exception {
users u=new users();
if(args.length==1){
System.out.println("No Details");
}else{
FileReader reader = new FileReader("users.txt");
BufferedReader buffer= new BufferedReader(reader);
String line = null;
while ((line = buffer.readLine()) != null) {
u.addToSearchString(line+'\n');
}
buffer.close();
u.printName();
}
}
}
class users{
String names;
users(){
names=new String();
}
void addToSearchString(String add){
names += add;
}
void printName() {
int i = 0;
int find, start, end;
while ((find = names.indexOf("name:", i))!=-1){
start = find + 5;
end = names.indexOf("\t", start);
System.out.println(names.substring(start, end));
i = end + 1;
}
}
}
只想在文本文件中获取 brayn 的行并将其分配给变量。
答案 0 :(得分:1)
假设每行在上面的示例数据中始终具有格式,那么您可以简单地分割文本文件的每一行并保留第二个字符串:
String line = "name: brayn birthday: 1994";
String[] parts = line.split(" ");
String name = parts[1];
System.out.println(name);
<强>输出:强>
brayn