помощь для записи в файлы в Java - PullRequest
2 голосов
/ 15 ноября 2010

Привет, я создал класс с именем «Человек», что у каждого объекта этого класса есть имя и тип, который может быть учеником или инструктором.Я создал еще один класс main, который создает объект Human, назначает тип и имя объектам и добавляет эти объекты в связанный список.Теперь я хочу записать этот связанный список в файл, но я не знаю как.я должен записать оба объекта и их тип в этот связанный список.я создал следующий класс Main, но у меня есть проблемы с написанием файловых частей.не могли бы вы вести меня?

public class Testing {

    public static LinkedList<Human> link =new LinkedList<Human>();
    static FileOutputStream fop;
    public static void main(String args[])
    {
        File f=new File("textfile1.txt");
        try {
            fop=new FileOutputStream(f);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        Human hm = new Human();
        Human hum = new Human();
        hm.setName("Anna");
        hm.setType("Student");
        hum.setName("Elvis");
        hum.setType("Instructor");
        link.add(hm);
        link.add(hum);
        for (Human h : link) {
            fop.write(h.getType());
            fop.write(h);
        }


    }
}

Ответы [ 3 ]

2 голосов
/ 15 ноября 2010

Посмотрите на java.io.PrintStream

PrintStream p = new PrintStream(fop);
for (Human h : link) {
  p.println(h.getType());
  p.println(h);
}
p.close();

Предполагается, что вы реализовали метод toString для человека.

1 голос
/ 15 ноября 2010

Простым и рабочим решением вашей проблемы было бы создание простого файла "CSV", это было бы читаемое представление ваших Human объектов и выглядеть следующим образом:

Anna;Student
Elvis;Instructor

Вы можете достичь этогос делом:

for (Human h : link) {
  String line = h.toString() + ";" + h.getType() + "\n";
  fop.write(line.getBytes());
}
0 голосов
/ 15 ноября 2010

Если вы хотите записать объекты в файл, вам нужно использовать сериализацию. Сделайте объект Human для реализации интерфейса Serializable и затем обратитесь к , как записать объект в выходной поток с использованием сериализации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...