Javaプログラムでは、FTPサーバーへのファイルのアップロードやダウンロードなど、FTPを処理する必要があることがよくあります。この記事では、Jakarta Commons(Commons-Netパッケージ)でFTPClientを使用してファイルをアップロードおよびダウンロードする方法を簡単に紹介します。
使用される瓶パッケージは次のとおりです。
commons-net-1.4.1.jar
Jakarta-oro.jar
1。ファイルをアップロードします
ファイルアップロードソースコード/***説明:ファイルをFTPサーバーにアップロード* @バージョン1.0* @Param URL FTP Server Hostname* @Param Port FTP Server Port* @Param Username FTP Login Account* @Param Password FTPログインパスワード成功して、false */public static boolean uploadfile(string url、// ftp server hostname int port、// ftp server port string username、// ftpログインアカウントパスワード、// ftpログインパスワードパス、// ftpサーバーはディレクトリ文字列ファイル名を保存します。 ftpclient ftp = new ftpclient(); {int Reply; ftp.connect(url、port); // FTPサーバーを接続する//デフォルトのポートが使用されている場合、FTP.Connect(URL)によってFTPサーバーに直接接続できます。 ftp.login(ユーザー名、パスワード); // REPLY = FTP.GETREPLYCODE(); if(!ftpreply.ispositiveCompletion(reply)){ftp.disconnect();成功を返す; } ftp.changeworkingdirectory(path); ftp.storefile(filename、input); input.close(); ftp.logout();成功= true; } catch(ioexception e){e.printstacktrace(); }最後に{if(ftp.isconnected()){try {ftp.disconnect(); } catch(ioexception ioe){}} return success; }ファイルアップロードのテストケースは次のとおりです。
/***ローカルファイルをFTPサーバーにアップロードします**/public void testuploadfromdisk(){try {fileInputStream in = new FileInputStream(new File( "d:/test.txt")); boolean flag = uploadFile( "127.0.0.1"、21、 "Administrator"、 "zyuc2011"、 "test"、 "test.txt"、in); System.out.println(flag); } catch(filenotfoundexception e){e.printstacktrace(); }} / ** * ftpサーバーでファイルを生成し、ファイルに文字列を書き込みます * * / public void testuploadfromstring(){try {string str = "これは書かれている文字列です!"; inputstream input = new bytearrayinputStream(str.getBytes( "utf-8")); boolean flag = uploadFile( "127.0.0.1"、21、 "Administrator"、 "zyuc2011"、 "test"、 "test.txt"、input); System.out.println(flag); } catch(unsupportedencodingexception e){e.printstacktrace(); }} 2。ファイルダウンロード<br />ファイルダウンロードソースコード
/ ***説明:FTPサーバーからファイルをダウンロード* @バージョン1.0* @Param URL FTPサーバーホスト名* @ParamポートFTPサーバーポート* @Param Username FTPログインアカウント* @ParamパスワードFTPログインパスワード* Static Boolean DownFile(String URL、// FTP Server HostName Int Port、// FTP Server Port Stringユーザー名、// FTPログインアカウント文字列パスワード、// ftpログインパスワード文字列remotepath、// ftpclient ftp = new ftpclient(); {int Reply; ftp.connect(url、port); //デフォルトのポートが使用されている場合、FTP.Connect(URL)を使用してFTPサーバーに直接接続できます。 ftp.login(username、password); // login Reply = ftp.getReplyCode(); if(!ftpreply.ispositiveCompletion(reply)){ftp.disconnect();成功を返す; } ftp.ChangeWorkingDirectory(Remotepath); // FTPサーバーディレクトリに転送ftpfile [] fs = ftp.listfiles(); for(ftpfile ff:fs){if(ff.getname()。equals(filename)){file localfile = new file(localpath+"/"+ff.getName()); outputStream is = new fileoutputStream(localfile); ftp.retrievefile(ff.getname()、is); is.close(); }} ftp.logout();成功= true; } catch(ioexception e){e.printstacktrace(); }最後に{if(ftp.isconnected()){try {ftp.disconnect(); } catch(ioexception ioe){}} return success; }ファイルのダウンロードのテストケースは次のとおりです。
/** * ftpサーバーのファイルをローカルにダウンロード * * */public void testdownfile(){try {boolean flag = downfile( "127.0.0.1"、21、 "管理者"、 "zyuc2011"、 "test"、 "test.txt"、 "d:/"); System.out.println(flag); } catch(Exception e){e.printstacktrace(); }}上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。