私はそれほどナンセンスとは言いません、私はあなたにコードを投稿するだけです。特定のコードは次のとおりです。
// file public static boolean uploadtoftp(string url、int port、string username、string password、string path、string filename、inputstream input){boolean success = false; ftpclient ftp = new ftpclient(); // org.apache.commons.net.ftp try {if(port> -1){ftp.connect(url、port); } else {ftp.connect(url); // ftpのデフォルトポートは21} //多くの人がFTP.getReplyCode()を使用して接続の返品値を取得するように書いていますが、これによりnullがnullを返します。 ftp.setfiletype(ftpclient.binary_file_type); //ディレクトリを作成すると、存在する場合、ftp.makedirectory(path)を返すことができません。 //ディレクトリFTP.ChangeWorkingDirectory(PATH)を切り替えます。 //ファイルのアップロードoutputStream out = ftp.storefilestream(filename); byte [] bytearray = new byte [4096]; int read = 0; while((read = input.read(bytearray))!= -1){out.write(bytearray、0、read); } out.close(); ftp.logout();成功= true; }} catch(Exception e){}最後に{if(ftp.isconnected()){ftp.disconnecct(); }}} //ファイルのダウンロードpublic static boolean downloadfromftp(string url、int port、string username、string password、string path、string localpath){boolean success = false; ftpclient ftp = new ftpclient(); // org.apache.commons.net.ftp try {int Reply; if(port> -1){ftp.connect(url、port); } else {ftp.connect(url); // ftpのデフォルトポートは21} //多くの人がftp.getReplyCode()を使用して接続の返品値を取得するように書いていますが、これによりnull ftp.login(username、password)ftp.enterlocalactivemodeのnull ftp.login( ftp.setfiletype(ftpclient.binary_file_type); Reply = ftp.getReplyCode(); if(!ftpreply.ispositionCompletion(Reply)){ftp.disconnect(); Success; s} //ここでディレクトリを切り替えると、スイッチングが失敗した場合、ftp.changeworkingdirectory(path)にパスがないことを意味します。 //ファイルをアップロードftpfile [] fs = ftp.listfiles(); outputStream out = null; inputstream in = null; for(int i = 0; i <fs.length; i ++){ftpfile ff = fs [i]; string outfileName = ff.getName(); //ローカルファイルを作成するときは、エンコード形式をback string localfilename = new String(ff.getName()。getBytes( "ISO-8859-")、 "gbk")に変換する必要があります。ファイルlocalfile = new file(localpath+lcoalfilename); out = new fileoutputStream(localfile); in = ftp.retrievefilestream(outfilename); byte [] bytearray = new byte [4096]; int read = 0; while((read = in.read(bytearray))!= -1){out.write(bytearray、0、read); } //この文は、FTPストリームのチャネルを複数回操作し、各コマンドがftp.completependingCommand()を完了するのを待ちます。 out.flush(); out.close(); ftp.logout(); sucess = true; } catch(例外e){}最後に{if(ftp.isconnected()){ftp.disconnecct(); }}}上記は、編集者が紹介するFTPファイルのアップロードとダウンロードのJava実装です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!