如何在JAVA中通过套接字发送File[]类型的变量

如何在JAVA中通过套接字发送File[]类型的变量,java,file,sockets,Java,File,Sockets,我已经实现了一个Java客户机-服务器应用程序 服务器具有存储在文件夹中的文件列表,如下所示: File[] list=folder.listFiles(); 我想通过套接字将此变量列表发送到客户端。 如何在JAVA中实现这一点 Thanx提前嗯,基本上你不能。您应该将套接字视为传输字节流。文件对象包含本地计算机状态,如文件指针。如果您想做类似的事情,您应该为每个文件的基础文件存储类似路径名的内容,然后在另一端创建文件对象。发送文件[]中的每个文件,我在它们上面循环,并遵循以下简单步骤: -打

我已经实现了一个Java客户机-服务器应用程序

服务器具有存储在文件夹中的文件列表,如下所示:

File[] list=folder.listFiles();
我想通过套接字将此变量列表发送到客户端。 如何在JAVA中实现这一点


Thanx提前

嗯,基本上你不能。您应该将套接字视为传输字节流。文件对象包含本地计算机状态,如文件指针。如果您想做类似的事情,您应该为每个文件的基础文件存储类似路径名的内容,然后在另一端创建文件对象。

发送文件[]中的每个文件,我在它们上面循环,并遵循以下简单步骤:

-打开服务器端的
ServerSocket

-在客户端创建
Socket
。使用
bind
连接到服务器

-使用套接字上的
getOutputStream
方法获取输出流

-将文件写入输出流最重要的部分 (使用
FileInputStream
BufferedInputStream


-关闭套接字。

我们可以将数组中的文件列表转换为字符串,并通过套接字逐个发送它们吗?或者更好,使用
file.list()
,它已经返回包含文件路径列表的字符串。用于什么目的?文件基本上只是一个文件名。它在另一端没有任何意义。