小编Let*_*ode的帖子

在单个连接中从多个文件中共享FTPClient InputStream

我的要求是从不同的目录获取所需文件扩展名的文件列表,并在获取文件本身时我应该获取输入流并进行一些处理....我试图获取具有所需文件扩展名的文件列表,然后我试图从该列表中的所有选定文件获取输入流.对于第一次迭代,我得到所需的文件,我也得到一个文件的流,但对于下一个文件,我得到一个空指针异常.我也无法从第二次迭代中获取文件列表

我用来测试的示例代码:

        System.out.println(ftp.printWorkingDirectory());
        boolean status = ftp
                .changeWorkingDirectory("mydirectory");
        System.out.println("Status of Change Directory:" + status);
        System.out.println(ftp.printWorkingDirectory());
        InputStream is = null;

        System.out.println(ftp.printWorkingDirectory());
        System.out.println(ftp.isConnected());

        FTPFile[] list2 = ftp.listFiles();
        System.out.println("Number of files in this directory:"
                + list2.length);
        for (int i = 0; i < list2.length; i++) {
            System.out.println("-------[" + list2[i].getName()
                    + "]---------------------");
            is = ftp.retrieveFileStream(list2[i].getName());
            int bytesRead = 0;
            byte[] buffer = new byte[1024];
            while ((bytesRead = is.read(buffer, 0, buffer.length)) > 0) {
                System.out.println(new String(buffer, 0, bytesRead));
            }
            //is.close();

            System.out.println("-------[END:" + list2[i].getName()
                    + "]---------------------"); …
Run Code Online (Sandbox Code Playgroud)

java ftp ftp-client apache-commons-net

4
推荐指数
1
解决办法
7020
查看次数

标签 统计

apache-commons-net ×1

ftp ×1

ftp-client ×1

java ×1