有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java保存/打开文件对象

在使用原始字节流在我的会议聊天应用程序中实现TCP文件传输后,我决定通过对象流发送我想要传输的文件要容易得多。文件作为内存中的文件对象发送并存储在其目的地(无论是中央服务器还是下载客户端)。然而,这些文件仅仅作为文件对象是没有用的——客户端应该能够打开它们。java中有没有一种方法可以将文件对象保存为硬盘文件,甚至可以通过java打开它们


共 (3) 个答案

  1. # 1 楼答案

    I've decided it's much easier to send files that I want transferred through object streams."

    不是。坏主意:消耗内存和延迟(即时间和空间)。只需发送和接收字节,前面的内容告诉您文件名和文件大小

  2. # 2 楼答案

    “文件对象”是什么意思;你是说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读取和写入文件

  3. # 3 楼答案

    你应该调查一下Data Handlers

    您可以使用它们作为Data Sources传输文件,但对您来说是“透明”的