我尝试访问远程计算机目录(写入服务器和客户端部件)并放入JTree,因此我使用System.getProperty(“user.dir”)
File root=new File(System.getProperty("file.separator"));
FileTreeModel model = new FileTreeModel(root);
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();
答案 0 :(得分:0)
您不能在客户端使用java的File
API,它总是本地的。您必须实现自己的javax.swing.tree.TreeModel
访问服务器端,而服务器端又可以使用File
API来访问服务器的本地文件。