Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对象到文件:如何?_Java - Fatal编程技术网

Java 对象到文件:如何?

Java 对象到文件:如何?,java,Java,因此,我有一个基本类Student,它扩展到了另外两种类型。所有的Student对象都存储在一个SLL中,现在我必须将它们存储到一个文件中。如果从列表中提取时,对(Student)进行了转换,我如何将它们存储在文件中?我需要从文件中取回它们,那么我如何知道文件中每一行是什么类型的学生?(我现在对序列化不感兴趣)您可以将对象转换为xml,然后从那里取回对象。 也许你可以用 或者简单地将此对象保存为纯文本文件(ex CSV) 您必须使您的类可序列化 John, 102, 4.5 Mark, 103,

因此,我有一个基本类Student,它扩展到了另外两种类型。所有的
Student
对象都存储在一个SLL中,现在我必须将它们存储到一个文件中。如果从列表中提取时,对
(Student)
进行了转换,我如何将它们存储在文件中?我需要从文件中取回它们,那么我如何知道文件中每一行是什么类型的学生?(我现在对序列化不感兴趣)

您可以将对象转换为xml,然后从那里取回对象。 也许你可以用

或者简单地将此对象保存为纯文本文件(ex CSV)


您必须使您的类可序列化

John, 102, 4.5
Mark, 103, 2.0

阅读文章-

我想要的是这样的东西:

public class Student implements java.io.Serializable

“我现在对序列化不感兴趣”-是的,你感兴趣。您正在谈论将对象存储在文件中。这就是序列化。您必须使用序列化@JonSkeet我需要“一种将学生列表保存到文本文件中的方法”,在我这样做之后,序列化将对象保存到文件中的要求是序列化。这个问题甚至没有展示对当前问题的最基本理解。序列化是它的主题,但是OP说他对序列化不感兴趣。
John, 102, 4.5
Mark, 103, 2.0
public class Student implements java.io.Serializable
public void writeTofile() throws IOException{

    File file = new File("./StudentRepo.txt");
    if (!file.exists())
        file.createNewFile();
    FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);

        Student[] copy = this.getStudents();
        for (Student st : copy){
            bw.write(st.toString() + "\n");
        }
        bw.close();
 }