如何在JAVA中通过套接字发送File[]类型的变量
我已经实现了一个Java客户机-服务器应用程序 服务器具有存储在文件夹中的文件列表,如下所示:如何在JAVA中通过套接字发送File[]类型的变量,java,file,sockets,Java,File,Sockets,我已经实现了一个Java客户机-服务器应用程序 服务器具有存储在文件夹中的文件列表,如下所示: File[] list=folder.listFiles(); 我想通过套接字将此变量列表发送到客户端。 如何在JAVA中实现这一点 Thanx提前嗯,基本上你不能。您应该将套接字视为传输字节流。文件对象包含本地计算机状态,如文件指针。如果您想做类似的事情,您应该为每个文件的基础文件存储类似路径名的内容,然后在另一端创建文件对象。发送文件[]中的每个文件,我在它们上面循环,并遵循以下简单步骤: -打
File[] list=folder.listFiles();
我想通过套接字将此变量列表发送到客户端。
如何在JAVA中实现这一点
Thanx提前嗯,基本上你不能。您应该将套接字视为传输字节流。文件对象包含本地计算机状态,如文件指针。如果您想做类似的事情,您应该为每个文件的基础文件存储类似路径名的内容,然后在另一端创建文件对象。发送文件[]中的每个文件,我在它们上面循环,并遵循以下简单步骤: -打开服务器端的
ServerSocket
-在客户端创建Socket
。使用bind
连接到服务器
-使用套接字上的getOutputStream
方法获取输出流
-将文件写入输出流最重要的部分
(使用FileInputStream
,BufferedInputStream
)
-关闭套接字。我们可以将数组中的文件列表转换为字符串,并通过套接字逐个发送它们吗?或者更好,使用
file.list()
,它已经返回包含文件路径列表的字符串。用于什么目的?文件基本上只是一个文件名。它在另一端没有任何意义。