Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过套接字将Java文件对象发送到服务器_Java_Sockets_File_Serialization_Objectoutputstream - Fatal编程技术网

通过套接字将Java文件对象发送到服务器

通过套接字将Java文件对象发送到服务器,java,sockets,file,serialization,objectoutputstream,Java,Sockets,File,Serialization,Objectoutputstream,您好,我正在尝试通过套接字将Java文件对象发送到服务器,然后服务器将其存储在数据库中。目前我已经创建了一个FileBean,它将文件对象存储在其中。然后,我使用ObjectOutputStream将FileBean写入服务器。但是,似乎File对象只包含对实际数据的引用,因此服务器无法实际获取数据 有没有一种方法可以使用objectoutput流之类的东西序列化要通过套接字发送的文件对象?或者这需要将文件写入缓冲区并通过套接字发送吗 任何帮助和代码示例都可以参考文件是一条路径,仅此而已。对于另

您好,我正在尝试通过套接字将Java文件对象发送到服务器,然后服务器将其存储在数据库中。目前我已经创建了一个FileBean,它将文件对象存储在其中。然后,我使用ObjectOutputStream将FileBean写入服务器。但是,似乎File对象只包含对实际数据的引用,因此服务器无法实际获取数据

有没有一种方法可以使用objectoutput流之类的东西序列化要通过套接字发送的文件对象?或者这需要将文件写入缓冲区并通过套接字发送吗


任何帮助和代码示例都可以参考

文件是一条路径,仅此而已。对于另一台机器上的服务器来说完全没有价值

这是文件的所有状态(取自
Java.io.file
)的Java 1.6源代码):


您必须读取文件内容(可能是字节数组)并将其发送到服务器。

文件是一个路径,仅此而已。对于另一台机器上的服务器来说完全没有价值

这是文件的所有状态(取自
Java.io.file
)的Java 1.6源代码):


您必须读取文件内容(可能是字节数组)并将其发送到服务器。

+1:换句话说,只有在两台机器上装载相同的路径/目录时,文件对象才有用。e、 g.使用NFS。重要的一点是,它不传输文件的内容,只传输其路径。注意:如果使用相对路径,它在接收方将保持相对路径,因此绝对路径可能不同。我是否能够将文件输出到字节数组中,将该字节数组放入可序列化对象,然后通过套接字将其发送到服务器?@user428810是的,字节数组本身是可序列化的,因此,您不必将其包装在任何其他+1中:换句话说,只有当路径/目录安装在两台机器上时,File对象才有用。e、 g.使用NFS。重要的一点是,它不传输文件的内容,只传输其路径。注意:如果使用相对路径,它在接收方将保持相对路径,因此绝对路径可能不同。我是否能够将文件输出到字节数组中,将该字节数组放入可序列化对象,然后通过套接字将其发送到服务器?@user428810是的,字节数组本身是可序列化的,这样你就不必用别的东西来包装它了
/**
 * This abstract pathname's normalized pathname string.  A normalized
 * pathname string uses the default name-separator character and does not
 * contain any duplicate or redundant separators.
 *
 * @serial
 */
private String path;

/**
 * The length of this abstract pathname's prefix, or zero if it has no
 * prefix.
 */
private transient int prefixLength;