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
重复构造多个JsonReader
s。只要您不在流上做任何其他事情并且只要解析器没有提前读取,每个后续的解析器都应该从最后一个停止的地方开始。请注意,它是否可以提前读取是未定义的,并且可能是特定于实现的。另请注意,解析器实现通常会关闭给定的流/读取器,您可能需要使用阻止关闭的简单流/读取器包装器来抑制这种情况,如下所示:
Json.createReader(new NoCloseInputStream(myInputStream));
否则,请尝试不同的解析器。我有一个FOSS JSON parser,它可以读取我网站上的离散对象流。
另外, 没关系;如果多次调用 JsonReader
的文档说 read()
方法需要只被调用一次;它并没有说必须只调用一次,因此值得尝试反复调用read()
以查看它是否有效。read
、readObject
、readArray
或 close
方法中的任何一个,这些方法被记录为抛出 IllegalStateException
。
【讨论】:
“另请注意,解析器实现通常会关闭给定的流/读取器”。它肯定会引发异常,但不会引发关闭流。javax.json.stream.JsonParsingException: Unexpected char 1 096 at (line no=1, column no=1, offset=0)
以上是关于java如何从文件中读取对象并用set保存的主要内容,如果未能解决你的问题,请参考以下文章
java ArrayList 如何读取文件中的数据,并且搜索
如何从单个文件中读取不同的模式 json 对象并将其保存到表中