Java 通过socket编程访问远程目录
我试图访问远程计算机目录(编写服务器和客户端部分)并放入JTree,因此我使用System.getProperty(“user.dir”)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后,我通过套接字连接发送它,但我无法获取远程目录,它会打印出自己的文件目录。我尝试使用递归方法获取所有文件路径以创建树
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来访问服务器的本地文件。添加发送/接收数据的代码