Чтение из файлов в формате Longs и Strings - PullRequest
1 голос
/ 29 ноября 2011

У меня есть файл данных в следующем формате:

1234567890 asdfgasdfgsdfgetsegzdfbcvbsdfg
9876543210 dfgdegdrdatkeqlkrmgda

числа, которые я хочу читать / записывать, как длинные, так и строковые. Любая идея, как я могу сделать это, используя один файловый ридер?!

Спасибо

Ответы [ 3 ]

2 голосов
/ 29 ноября 2011

Считайте файл с помощью FileReader. Оберните это с помощью BufferedReader и используйте его метод .readLine (). Для каждой строки вызовите .split(...), чтобы получить массив String [] различных полей. Для полей String вы можете использовать их как есть. Для полей Long передайте строку в Long.parseLong(string).

2 голосов
/ 29 ноября 2011

@ ziesemer ответ кажется правильным для вашей первоначальной проблемы, и я бы порекомендовал вам сделать это, поскольку у вас больше контроля над процессом. Scanner также является разумным вариантом, если вы не собираетесь менять файловую структуру в ближайшем будущем ...

Если вы хотите записать свой файл в двоичном виде, используйте FileOutputStream, у него есть различные методы записи, которые можно использовать для ваших целей ... Смотрите следующие примеры: -

Пример

Другой пример

Еще один пример

Эти примеры являются просто результатом одного простого поиска в Google, вы получите их в большом количестве,

1 голос
/ 29 ноября 2011

Сканер с его методами nextLong() и nextString() и PrintWriter с его print() методами швы, чтобы быть тем, что вы ищете.

Для чтения и записи двоичного файла вы можете использовать ObjectInputStream с его readLong() и (String)readObject() методами и ObjectOutputStream с его writeLong() и writeObject() методами.

...