1

我尝试访问远程计算机目录(编写服务器和客户端部分)并放入 JTree 所以我使用 System.getProperty("user.dir") 在我设置 jTree1 后,我通过套接字连接发送它但我无法获取远程目录,它打印出自己的文件目录。我尝试通过使用递归来获取所有文件路径来制作树模型,无论它是否是文件。但是大约需要 3 分钟。我怎么解决这个问题?
File root=new File(System.getProperty("file.separator"));
FileTreeModel model = new FileTreeModel(root);
jTree1.setModel(model);

接收我的部分代码是:

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();
4

1 回答 1

0

您不能File在客户端使用 java 的 API,它始终是本地的。您可能必须实现自己的javax.swing.tree.TreeModel,访问您的服务器端,然后可以将FileAPI 用于服务器的本地文件。

于 2013-07-29T12:45:40.750 回答