2015-04-07 2 views
-1

Я начинаю Java-программист, который является новым на этом сайте. Я работаю над проектом Java, который включает в себя сохранение и перезагрузку .txt-файлов. Я понимаю, что есть много похожих вопросов, но ни один из них не является именно тем, что я ищу. Если я ошибаюсь, мне очень жаль.Как создать и отсканировать файл .txt и из Java ArrayList

Я пытаюсь разработать Java-программу для классной комнаты, когда учитель хочет назначить новые места. Во-первых, я собираюсь объяснить свое видение программы. Программа позволит вам ввести в именах учеников, которые будут разделены на два отдельных листа ArrayLists, один для мальчиков в классе и еще один для девочек. Я хочу, чтобы эти ArrayLists были как-то сохранены в .txt-файле, чтобы их можно было прочитать позже. Я делал это раньше с помощью простых строк:

PrintWriter out = new PrintWriter("list.txt"); 
     out.println("Bobby Joe"); 
     out.println("John Doe"); 
     out.close(); 

Есть ли другой способ сделать это с помощью ArrayLists? PrintWriter отлично работал, когда я использовал простые строки. Другая часть программы будет читать эти .txt-файлы и импортировать их в ArrayLists снова. Там он может использовать ArrayLists, чтобы назначить места для детей в классе. Я полностью не знаю, как загружать файлы .txt.

Я уверен, что это единственные две части программы, в которых мне понадобится помощь, я могу использовать рандомизатор и другие простые методы для программирования остальных.

Я был бы очень признателен, если бы вы могли помочь мне создать мою программу на Java. Спасибо!

+1

Ну, вы можете цикл в списке, и call out.println() с каждым элементом, чтобы записать его в файл. Чтобы прочитать файлы, прочтите учебник по Java IO. Вот почему это было написано. http://docs.oracle.com/javase/tutorial/essential/io/index.html –

ответ

0

Я предполагаю, что вы хотите, чтобы имена были написаны по очереди.

Отредактируйте метод письма писать имена из списка:

PrintWriter out = new PrintWriter("list.txt"); 
list.forEach(out::println); 
out.close(); 

И тогда вы можете прочитать их с чем-то вроде этого:

List<String> list = Files.lines(Paths.get("list.txt")).collect(Collectors.toList()); 
0

я предлагаю использовать для сериализации:

Example

Просто писать/читать полный объект ArrayList в/из файла.

Смежные вопросы