处理从套接字接收的数据

时间:2010-12-09 06:29:22

标签: java sockets io

我正在开发套接字应用程序,我的应用程序需要通过套接字接收xml文件。收到的xml文件大小从1k到100k不等。我现在正在考虑将我收到的数据首先存储到临时文件中,然后将其传递给xml解析器。我不确定这是否是一种正确的方法。

另一个问题是,如果我想如上所述,我应该将文件对象或文件路径传递给xml解析器吗?

提前致谢,

此致

3 个答案:

答案 0 :(得分:2)

只需将其直接发送给解析器即可。这就是浏览器的功能。添加临时文件会花费您的时间和空间而没有实际的好处。

答案 1 :(得分:0)

您是否认为将BufferedReader置于您拥有的任何输入流中会起作用?它不会把它放到一个临时文件中,但它可以让你挂起那些数据。您可以设置所需的BufferedReader大小。

您是否编写了XML解析器?如果你没有,它会接受什么作为参数?如果你写了它,你问的是效率。也就是说,解析器要求哪个对象,路径或文件最有效?

答案 2 :(得分:0)

您不必将套接字中的数据存储到任何文件中。只需将DataInputStream整个读入一个字节数组,然后就可以随心所欲了。例如。如果需要,使用xml输入创建String以提供解析器。 (我假设tcp套接字)。
如果有前面的数据,则跳过它们,以便将实际的xml数据提供给解析器。