gpt4 book ai didi

java - 通过socket编程访问远程目录

转载 作者:行者123 更新时间:2023-12-01 04:31:33 25 4
gpt4 key购买 nike

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

关于java - 通过socket编程访问远程目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17924044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com