java 从ftp服务器上 读取文件内容


public class FtpUtil {
 
    FtpClient ftpClient;
 
    /**
     * 连接FTP服务
     * @param url //IP地址
     * @param port//端口号
     * @param username//用户名
     * @param password//密码
     * @return
     */
    public static FtpClient connectFTP(String url, int port, String username, String password) { 
        //创建ftp 
        FtpClient ftp = null; 
        try { 
            //创建地址 
            SocketAddress addr = new InetSocketAddress(url, port); 
            //连接 
            ftp = FtpClient.create(); 
            ftp.connect(addr); 
            //登陆 
            ftp.login(username, password.toCharArray()); 
            ftp.setBinaryType(); 
        } catch (FtpProtocolException e) { 
            e.printStackTrace(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
        return ftp; 
    } 
   
    /**
     * 取ftp上的文件内容
     * @param ftpFile
     * @param ftp
     * @return
     */
    public static List download(String ftpFile, FtpClient ftp) { 
        List list = new ArrayList();
        String str = "";
        InputStream is = null;
        BufferedReader br = null;
        try {
            // 获取ftp上的文件 
            is = ftp.getFileStream(ftpFile);
            //转为字节流
            br = new BufferedReader(new InputStreamReader(is));
            while((str=br.readLine())!=null){
                list.add(str);
            }
            br.close();
        }catch (FtpProtocolException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return list;
    } 
   
    public static void main(String[] args) {
     FtpClient ftp = connectFTP("ip地址,"用户名","密码");
        List list = download("文件路径",ftp);
        for(int i=0;i          String strOut = null;
         if(list.get(i).toString()!=null){
         try {
          byte[] bs = list.get(i).toString().getBytes();
       
        strOut = new String(bs, "utf-8");
       } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
         }
         System.out.println(strOut);
         System.out.println(list.get(i).toString());
        }
       }
}
  

你可能感兴趣的:(java,ftp服务器,技术)