Java保存/打开文件对象

时间:2011-11-22 19:54:05

标签: java file-io

在使用原始字节流在我的会议聊天应用程序中苦心尝试实现TCP文件传输之后,我决定发送我想通过对象流传输的文件要容易得多。这些文件作为内存中的File对象发送并存储在其目的地(无论是中央服务器还是下载客户端)。但是,这些文件不仅仅用作文件对象 - 客户端应该能够打开它们。有没有办法在Java中将File对象保存为硬盘文件,或者甚至通过Java打开它们?

3 个答案:

答案 0 :(得分:10)

你对“文件对象”是什么意思;你的意思是java.io.File吗?

java.io.File只是目录名称和文件名的表示。它不是可以保存文件内容的对象。

如果您在内存中有数据例如字节数组,那么是的,您可以将其保存到文件中:

byte[] data = ...;

OutputStream out = new FileOutputStream(new File("C:\\someplace\\filename.dat"));
out.write(data);
out.close();

请参阅Oracle Java教程中的Basic I/O Lesson,了解如何使用FileInputStreamFileOutputStream读取和写入文件。

答案 1 :(得分:1)

您应该查看Data Handlers

您可以使用它们以Data Sources方式传输文件,但以“透明”方式传输给您。

答案 2 :(得分:0)

  

我已经决定发送我想传输的文件要容易得多   通过对象流。“

不是。不好的想法:花费内存和延迟(即时间和空间)。只需发送和接收字节,前面有东西告诉你文件名和文件大小。