用于在java中写入文件的帮助

用于在java中写入文件的帮助,java,file-io,Java,File Io,嗨 我创建了一个名为“Human”的类,该类的每个对象都有一个名称和一个类型,可以是学生或讲师。我已经创建了另一个类main,它创建了Human对象,并为这些对象指定了类型和名称,并将这些对象添加到linkedList中。现在我想把这个linkedList写进一个文件,但我不知道怎么写。我必须将对象及其类型写入该linkedList。我已经创建了以下作为主类,但是我在编写文件部分时遇到了问题。请你给我引路好吗 public class Testing { public static L

嗨 我创建了一个名为“Human”的类,该类的每个对象都有一个名称和一个类型,可以是学生或讲师。我已经创建了另一个类main,它创建了Human对象,并为这些对象指定了类型和名称,并将这些对象添加到linkedList中。现在我想把这个linkedList写进一个文件,但我不知道怎么写。我必须将对象及其类型写入该linkedList。我已经创建了以下作为主类,但是我在编写文件部分时遇到了问题。请你给我引路好吗

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);
        }


    }
}
公共类测试{
public static LinkedList link=new LinkedList();
静态文件输出流fop;
公共静态void main(字符串参数[])
{
文件f=新文件(“textfile1.txt”);
试一试{
fop=新文件输出流(f);
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
人类hm=新人类();
人类的嗡嗡声=新人类();
hm.setName(“安娜”);
hm.setType(“学生”);
哼,集名(“猫王”);
hum.setType(“讲师”);
link.add(hm);
link.add(哼哼);
for(人类h:link){
fop.write(h.getType());
fop.write(h);
}
}
}
看看


假设您已经实现了一种用于人的方法

解决您的问题的一个简单有效的方法是创建一个简单的“CSV”文件,这将是您的
人类对象的可读表示,看起来像:

Anna;Student
Elvis;Instructor
您可以通过执行以下操作来实现这一点:

for (Human h : link) {
  String line = h.toString() + ";" + h.getType() + "\n";
  fop.write(line.getBytes());
}

如果要将对象写入文件,则需要使用序列化。使人工对象实现
可序列化
接口,然后引用。

这取决于要写入文件的内容。是否希望值、serlialised对象、xml表示形式?以可读形式。或者以二进制形式?如果我想在测试类中添加另一个方法来读取我用上述代码在linkedList中创建的“textfile”,这是一个好方法吗?
for (Human h : link) {
  String line = h.toString() + ";" + h.getType() + "\n";
  fop.write(line.getBytes());
}