【问题标题】:Accessing remote directory by socket programming通过套接字编程访问远程目录
【发布时间】:2013-07-29 12:27:46
【问题描述】:

我尝试访问远程计算机目录(编写服务器和客户端部分)并放入 JTree,所以我使用 System.getProperty("user.dir")
File root=new File(System.getProperty("file.separator"));
FileTreeModel model = new FileTreeModel(root);
jTree1.setModel(model);

设置 jTree1 后,我通过套接字连接发送它,但我无法获取远程目录,它打印出自己的文件目录。我尝试通过使用递归来获取所有文件路径来制作 Tree 模型,无论它是否是文件。但是大约需要 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 sockets directory jtree


【解决方案1】:

你不能在客户端使用java的File API,它总是本地的。您可能必须实现自己的javax.swing.tree.TreeModel,它可以访问您的服务器端,而服务器端又可以使用File API 来处理服务器的本地文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 2012-09-22
    • 2011-07-22
    • 1970-01-01
    • 2011-12-16
    相关资源
    最近更新 更多