【发布时间】:2013-12-17 14:59:44
【问题描述】:
我有一个制表符分隔的文件,我想用制表符和换行符分割它,其中制表符代表字段之间的分隔符,换行符代表应该创建的新对象。该文件可能如下所示:
Peter\tpeter@example.com\tpeterpassword\nBob\tbob@bobby.com\tbobbypassword\n...
其中\t 是一个制表符,\n 是一个换行符。
我想启用将此文件上传到我的程序,该程序为文件中的每一行以及该行上的字段创建一个新用户。但是我怎样才能使用两个标记 - 制表符和换行符?我的代码如下所示:
String everything = "";
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(file.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
//now create object according to the string
StringTokenizer st = new StringTokenizer(line , "\t");
String name = st.nextToken();
String email = st.nextToken();
String password = st.nextToken();
User.createNewUser(name, email, password);
sb.append(line);
sb.append('\n');
line = br.readLine();
}
everything = sb.toString();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Everything: " + everything);
上面的代码可以工作吗?
【问题讨论】:
-
测试一下就知道了。
-
并且仅供参考:StringTokenizer 可以采用多个令牌。
-
你为什么不试试,让我们知道!
-
您也可以根据需要将其拆分为数组并使用正则表达式进行拆分。 String[]tokens = something.split("\n|\\\t");