0

Apache Commons を使用していて、サーバーから指定されたファイルとディレクトリを表示しようとしていますが、これを行う方法を知っている人はいますか?これまでこのコードを使用していましたが、実際には機能していません。誰かが助けてくれたり、どこが間違っているのか教えてくれませんか.

 public String[] getDir(String rootDirectory) {
    String server = "192.168.1.11";
    int port = 21;
    String user = "javaapp";
    String pass = "nascalebio";
    String Directory = "/cms";
    String[] directories;

    FTPClient ftpClient = new FTPClient();

    try {
        ftpClient.connect(server, port);
        ftpClient.login(user, pass);

        FTPFile[] files = ftpClient.mlistDir(Directory);
        directories = new String[files.length];
        for (int i =0; i < files.length; i++) {
            directories[i] = files[i].getName();
            System.out.println(i);
            System.out.println(directories[i]);
            System.out.println(files.length);
           }

        return directories;

    } catch (IOException e) {
        System.out.println(e);
    }
    return null;

}

public void buildtree(String currentdir, DefaultMutableTreeNode model) throws SocketException, IOException {
    String[] currentcrawl = getDir(currentdir);
    for (String node : currentcrawl) {
    DefaultMutableTreeNode currentnode = new DefaultMutableTreeNode(node);
    buildtree(currentdir +"/" + node, currentnode);
    model.add(currentnode);

    }



    buildtree(".", root);
    tree.setModel(new DefaultTreeModel(root));
4

1 に答える 1

2

ここで調べたいくつかの関連する例を検討してください。基本的に、 などの を作成しTreeModel、またはFileTreeModelなどのビューで使用する必要があります。ネットワークの遅延のため、おそらく を使用してバックグラウンドでファイルを取得し、ワーカーのメソッドの実装でを更新する必要があります。JTreeOutlineSwingWorkerTreeModelpublish()

于 2013-09-16T03:30:29.693 に答える