У меня есть файл с разделителями табуляции, который я хочу разделить на вкладки и строки новой строки, где вкладка представляет разделитель между полями, а новая строка представляет новый объект, который должен быть создан. Файл может выглядеть следующим образом:Как разбить строку на вкладки и символы новой строки?
Peter\[email protected]\tpeterpassword\nBob\[email protected]\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);
Будет ли код подобным выше работать?
Протестируйте его и выясните. – MadConan
и FYI: StringTokenizer может принимать несколько токенов. – MadConan
Почему бы вам не попробовать и не дать нам знать! – Bohemian