[英]How to split a string by tabs and newlines?
我有一個制表符分隔的文件,我希望按制表符和換行符分割,其中制表符表示字段之間的分隔符,換行符表示應創建的新對象。 該文件可能如下所示:
Peter\\tpeter@example.com\\tpeterpassword\\nBob\\tbob@bobby.com\\tbobbypassword\\n...
其中\\t
是選項卡, \\n
是換行符。
我想啟用上傳此文件到我的程序,該程序為文件中的每一行創建一個新用戶,並在該行上顯示字段。 但是我如何使用兩個標記 - tab和換行符? 我的代碼看起來如下所示:
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);
代碼會像上面這樣工作嗎?
我會為每一行做一個String.split("\\\\n")
。 然后,您將獲得每個用戶所需的所有信息。 執行另一個String.split("\\\\t")
並使用生成的數組構造對象。
來自Java Doc:
StringTokenizer是一個遺留類,出於兼容性原因而保留,盡管在新代碼中不鼓勵使用它。 建議任何尋求此功能的人都使用String的split方法或java.util.regex包。
http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.