java如何从文件中读取对象并用set保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何从文件中读取对象并用set保存相关的知识,希望对你有一定的参考价值。

java中从文件中读取对象,主要是使用ObjectInputStream的readObject方法来读取对象,如下代码:

public static Object readObjectFromFile()
    
        Object temp=null;
        File file =new File("test.dat");
        FileInputStream in;
        try 
            in = new FileInputStream(file);
            ObjectInputStream objIn=new ObjectInputStream(in);
            temp=objIn.readObject();//从文件当中读取对象
            Set<Object> duixiang = new HashSet<Object>();
            duixiang.add(temp);//添加对象到set集合里面
            objIn.close();
            System.out.println("read object success!");
         catch (IOException e) 
            System.out.println("read object failed");
            e.printStackTrace();
         catch (ClassNotFoundException e) 
            e.printStackTrace();
        
        return temp;
    
参考技术A 你描述的是不够清楚,首先看你是要读什么文件了,假设你在读一个文本文件,那么我猜你是用set来按照行顺序存到set里面,这样你可以使用FileReader的子类,记得有个readLine的方法你每次读一行放进去,直到读到文件结尾。如果你是读取的是二进制数据那么用set保存好像不是很合适。本回答被提问者和网友采纳 参考技术B 文件中只能读取流,然后转化为各种你需要的类型,string,整型,浮点,布尔,Object。 参考技术C 输入流读取
转换字符串
构造set
小心内存溢出
参考技术D 请描述详细一点,是不是需要实现读文件,然后把文件的内容存放到set集合中?

如何从 Java 文件中读取许多 json 对象?

【中文标题】如何从 Java 文件中读取许多 json 对象?【英文标题】:How can I read MANY json objects from a file in Java? 【发布时间】:2014-06-25 20:07:28 【问题描述】:

JsonReader reader 对应的方法遵循“对于一个 reader 实例,该方法只需要调用一次”的规则。是否有任何标准工具可以从流中读取直到结束?

【问题讨论】:

好东西!关于第一个选项。出于技术原因,我想留在 JSR-353 中。关于第二个。是否保证 InputStream 会记住上次读取它的位置?事实上它应该,但它是否在任何文档中明确说明? (把我的cmets转给一个答案) 【参考方案1】:

您可以围绕同一个InputStream / Reader 重复构造多个JsonReaders。只要您不在流上做任何其他事情并且只要解析器没有提前读取,每个后续的解析器都应该从最后一个停止的地方开始。请注意,它是否可以提前读取是未定义的,并且可能是特定于实现的。另请注意,解析器实现通常会关闭给定的流/读取器,您可能需要使用阻止关闭的简单流/读取器包装器来抑制这种情况,如下所示:

Json.createReader(new NoCloseInputStream(myInputStream));

否则,请尝试不同的解析器。我有一个FOSS JSON parser,它可以读取我网站上的离散对象流。

另外,JsonReader 的文档说 read() 方法需要只被调用一次;它并没有说必须只调用一次,因此值得尝试反复调用read() 以查看它是否有效。 没关系;如果多次调用 readreadObjectreadArrayclose 方法中的任何一个,这些方法被记录为抛出 IllegalStateException

【讨论】:

“另请注意,解析器实现通常会关闭给定的流/读取器”。它肯定会引发异常,但不会引发关闭流。 javax.json.stream.JsonParsingException: Unexpected char 1 096 at (line no=1, column no=1, offset=0)

以上是关于java如何从文件中读取对象并用set保存的主要内容,如果未能解决你的问题,请参考以下文章

java ArrayList 如何读取文件中的数据,并且搜索

VB如何读取一个图片,保存到字节数组中

java读取blob并用base64码进行保存

如何从单个文件中读取不同的模式 json 对象并将其保存到表中

2023最新Matlab 保存JSON数据集文件,并用Python读取

2023最新Matlab 保存JSON数据集文件,并用Python读取