gpt4 book ai didi

java - 使用 FileInputStream(对于 Java)读取 XML 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 02:11:45 26 4
gpt4 key购买 nike

对于我的项目,我必须使用 Java 和 XStream 对随机树进行序列化和反序列化。我的老师制作了 Tree/RandomTree 算法,所以我不必担心。我不知道该怎么做:我正在使用 FileInputStream 读取/写入我序列化和反序列化的 xml 文件,但是当我反序列化时,我不知道用于读取文件的方法。读取文件后,我应该能够将其从 XML 转换,然后将其作为字符串打印出来。这是我到目前为止所拥有的。 (我正确导入了所有内容,只是没有将其添加到我的代码段)。

FileInputStream fin;        

try
{
// Open an input stream
fin = new FileInputStream ("/Users/Pat/programs/randomtree.xml");

//I don't know what to put below this, to read FileInpuStream object fin

String dexml = (String)xstream.fromXML(fin);

System.out.println(dexml);

// Close our input stream
fin.close();


System.out.println(dexml);

// Close our input stream
fin.close();
}
// Catches any error conditions
catch (IOException e)
{
System.err.println ("Unable to read from file");
System.exit(-1);
}




编辑:我想通了;我不认为我必须将它打印为字符串,我只需要制作一个基准测试框架来计时等等,但再次感谢!

最佳答案

xstream.fromXML() 方法将为您读取输入流。我认为问题在于您将 xstream.fromXML(fin) 的返回值强制转换为字符串,而当它应该被强制转换为您最初序列化的对象类型时(RandomTree 我假设)。所以代码看起来像这样:

RandomTree tree = (RandomTree)xstream.fromXML(fin);

编辑:在评论中澄清后,作者的目标是首先读入一个字符串,以便在反序列化之前打印 XML 内容。考虑到这个目标,我建议看一下 this thread 中提到的 IOUtils 库。

关于java - 使用 FileInputStream(对于 Java)读取 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com