Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 通过socket编程访问远程目录_Java_File_Sockets_Directory_Jtree - Fatal编程技术网

Java 通过socket编程访问远程目录

Java 通过socket编程访问远程目录,java,file,sockets,directory,jtree,Java,File,Sockets,Directory,Jtree,我试图访问远程计算机目录(编写服务器和客户端部分)并放入JTree,因此我使用System.getProperty(“user.dir”) File root=新文件(System.getProperty(“File.separator”) FileTreeModel model=新的FileTreeModel(根) jTree1.setModel(model) 设置jTree1后,我通过套接字连接发送它,但我无法获取远程目录,它会打印出自己的文件目录。我尝试使用递归方法获取所有文件路径以创建树

我试图访问远程计算机目录(编写服务器和客户端部分)并放入JTree,因此我使用System.getProperty(“user.dir”)
File root=新文件(System.getProperty(“File.separator”)
FileTreeModel model=新的FileTreeModel(根)
jTree1.setModel(model)
设置jTree1后,我通过套接字连接发送它,但我无法获取远程目录,它会打印出自己的文件目录。我尝试使用递归方法获取所有文件路径以创建树模型,无论它是否为文件。但是大约需要3分钟。如何解决此问题

我的代码的接收部分是:

TreeServer = new ServerSocket(805);
TreeSocket = TreeServer.accept();
in = TreeSocket.getInputStream();
TreeObjectInput = new ObjectInputStream(in);
fileTree = (JTree) TreeObjectInput.readObject();
TreeObjectInput.close();
in.close();
TreeServer.close();
发送我的部分代码

Socket ConnectionSocket = new Socket(remoteIP,805); 
File root=new File(System.getProperty("file.separator"));
model = new FileTreeModel(root);
JTree2.setModel(root);
OutputStream os = ConnectionSocket.getOutputStream();  
ObjectOutputStream oos = new ObjectOutputStream(os);    
oos.writeObject(JTree2);  
oos.close();  
os.close();

您不能在客户端使用java的
文件
API,它始终是本地的。您可能需要实现自己的
javax.swing.tree.TreeModel
,它可以访问服务器端,而服务器端又可以使用
文件
API来访问服务器的本地文件。

添加发送/接收数据的代码