如何列出FTP的目录与Android? [英] How to list ftp directories with android?

查看:115
本文介绍了如何列出FTP的目录与Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

[求助]我如何得到我的文件和文件夹列表,在我的FTP服务器?

我知道如何连接和上传文件,而不是如何让目录列表:

 尝试{
                FtpClient的FtpClient的=新FtpClient的();
                ftpClient.connect(InetAddress.getByName(176.28.25.46));
                ftpClient.login(*​​****,******);
                的System.out.println(状态::+ ftpClient.getStatus());

                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                ftpClient.enterLocalPassiveMode();

                // prepare文件上传到FTP服务器
                档案文件=新的文件(default.prop);
                的FileInputStream IFILE =新的FileInputStream(文件);

                //上传文件到FTP服务器
                ftpClient.storeFile(/子域/ giveyourapps / httpdocs资料/应用程序/ default.prop,IFILE);
                ftpClient.disconnect();

            }赶上(例外五){
                e.printStackTrace();
            }
 

但每code剪断,我发现在谷歌,我没有工作: - /

 尝试{

                FtpClient的FtpClient的=新FtpClient的();
                ftpClient.connect(InetAddress.getByName(176.28.25.46));
                ftpClient.login(*​​****,******);
                的System.out.println(状态::+ ftpClient.getStatus());

                字符串toppath =新的String();
                FTPFile [] ftpDirs = ftpClient.listDirectories();
                的for(int i = 0; I< ftpDirs.length;我++){
                    toppath = ftpDirs [0] .getName();
                    Log.d(CONNECT,目录中的FTP服务器是
                            + ftpDirs [I] .getName());
                }

                FTPFile [] ftpdirs2 = ftpClient.listFiles(toppath);
                的for(int i = 0; I< ftpdirs2.length;我++){
                    Log.d(CONNECT,
                            文件我需要的是+ ftpdirs2 [I] .getName());
                }

            }
 

对于大家谁都有同样的问题。它的工作原理现在与code:(感谢user1106888)

 尝试{

                FtpClient的FtpClient的=新FtpClient的();
                ftpClient.connect(InetAddress.getByName(176.28.25.46));
                ftpClient.login(*​​****,******);
                的System.out.println(状态::+ ftpClient.getStatus());
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                ftpClient.enterLocalPassiveMode();

                尝试{
                字符串toppath =新的String();
                FTPFile [] ftpDirs = ftpClient.listDirectories();
                的for(int i = 0; I< ftpDirs.length;我++){
                    toppath = ftpDirs [0] .getName();
                    的System.out.println(目录 - 计算值:+ ftpDirs [I] .getName());

                }

                FTPFile [] ftpdirs2 = ftpClient.listFiles(toppath);
                的for(int i = 0; I< ftpdirs2.length;我++){
                    的System.out.println(文件 - 计算值:+ ftpdirs2 [I] .getName());
                }
                }赶上(例外五){
                    e.printStackTrace();
                }


            }赶上(例外五){
                e.printStackTrace();
            }
 

解决方案

使用这种code,它应该帮助

  FTPFile [] ftpDirs = mFTPClient.listDirectories();
                    的for(int i = 0; I< ftpDirs.length;我++){
                        toppath = ftpDirs [0] .getName();
                        Log.d(CONNECT,目录中的FTP服务器是
                                + ftpDirs [I] .getName());
                    }

                    FTPFile [] ftpdirs2 = mFTPClient.listFiles(toppath);
                    的for(int i = 0; I< ftpdirs2.length;我++){
                        Log.d(CONNECT,
                                文件我需要的是+ ftpdirs2 [I] .getName());
                    }
 

[SOLVED] How can I get a list of my Files and Folders on my ftp Server?

I know how to connect and upload a file, but not how to get the directory list:

            try {
                FTPClient ftpClient = new FTPClient();
                ftpClient.connect(InetAddress.getByName("176.28.25.46"));
                ftpClient.login("******", "******");
                System.out.println("status :: " + ftpClient.getStatus());

                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                ftpClient.enterLocalPassiveMode();

                // Prepare file to be uploaded to FTP Server
                File file = new File("default.prop");
                FileInputStream ifile = new FileInputStream(file);

                // Upload file to FTP Server
                ftpClient.storeFile("/subdomains/giveyourapps/httpdocs/apps/default.prop",ifile);
                ftpClient.disconnect();  

            } catch (Exception e) {
                e.printStackTrace();
            } 

But every code snipped that I found on google didn't work for me :-/

            try {

                FTPClient ftpClient = new FTPClient();
                ftpClient.connect(InetAddress.getByName("176.28.25.46"));
                ftpClient.login("******", "******");
                System.out.println("status :: " + ftpClient.getStatus());

                String toppath = new String();
                FTPFile[] ftpDirs = ftpClient.listDirectories();
                for (int i = 0; i < ftpDirs.length; i++) {
                    toppath = ftpDirs[0].getName();
                    Log.d("CONNECT", "Directories in the ftp server are "
                            + ftpDirs[i].getName());
                }

                FTPFile[] ftpdirs2 = ftpClient.listFiles(toppath);
                for (int i = 0; i < ftpdirs2.length; i++) {
                    Log.d("CONNECT",
                            "File i need is  " + ftpdirs2[i].getName());
                }

            }

For everybody who has the same problem. It works now with that code: (Thanks to user1106888)

            try {

                FTPClient ftpClient = new FTPClient();
                ftpClient.connect(InetAddress.getByName("176.28.25.46"));
                ftpClient.login("******", "******");
                System.out.println("status :: " + ftpClient.getStatus());
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                ftpClient.enterLocalPassiveMode();

                try{
                String toppath = new String();
                FTPFile[] ftpDirs = ftpClient.listDirectories();
                for (int i = 0; i < ftpDirs.length; i++) {
                    toppath = ftpDirs[0].getName();
                    System.out.println("Directory->: " + ftpDirs[i].getName());

                }

                FTPFile[] ftpdirs2 = ftpClient.listFiles(toppath);
                for (int i = 0; i < ftpdirs2.length; i++) {
                    System.out.println("Files->: " + ftpdirs2[i].getName());
                }
                }catch (Exception e) {
                    e.printStackTrace();
                } 


            } catch (Exception e) {
                e.printStackTrace();
            } 

解决方案

Use this code and it should help

FTPFile[] ftpDirs = mFTPClient.listDirectories();
                    for (int i = 0; i < ftpDirs.length; i++) {
                        toppath = ftpDirs[0].getName();
                        Log.d("CONNECT", "Directories in the ftp server are "
                                + ftpDirs[i].getName());
                    }

                    FTPFile[] ftpdirs2 = mFTPClient.listFiles(toppath);
                    for (int i = 0; i < ftpdirs2.length; i++) {
                        Log.d("CONNECT",
                                "File i need is  " + ftpdirs2[i].getName());
                    }

这篇关于如何列出FTP的目录与Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆