java常用工具類(二)

來源:互聯網
上載者:User

1、FtpUtil

[java] view plain copy print ? package com.itjh.javaUtil;      import java.io.File;   import java.io.FileOutputStream;   import java.io.IOException;   import java.io.OutputStream;   import java.util.ArrayList;   import java.util.List;      import org.apache.commons.net.ftp.FTPClient;   import org.apache.commons.net.ftp.FTPFile;   import org.apache.commons.net.ftp.FTPReply;      /**   * 用來操作ftp的綜合類。<br/>   * 主要依賴jar包commons-net-3.1.jar。   *    * @author 宋立君   * @date 2014年06月25日   */   public class FtpUtil {       // ftp 地址       private String url;       // ftp連接埠       private int port;       // 使用者名稱       private String userName;       // 密碼       private String password;          /**       * 建構函式       *        * @param url       *            ftp地址       * @param port       *            ftp連接埠       * @param userName       *            使用者名稱       * @param password       *            密碼       * @author 宋立君       * @date 2014年06月25日       *       */       public FtpUtil(String url, int port, String userName, String password) {           this.url = url;           this.port = port;           this.userName = userName;           this.password = password;       }          /**       * 從FTP伺服器下載指定檔案名稱的檔案。       *        * @param remotePath       *            FTP伺服器上的相對路徑       * @param fileName       *            要下載的檔案名稱       * @param localPath       *            下載後儲存到本地的路徑       * @return 成功下載返回true,否則返回false。       * @throws IOException       * @author 宋立君       * @date 2014年06月25日       */       public boolean downFile(String remotePath, String fileName, String localPath)               throws IOException {           boolean success = false;           FTPClient ftp = new FTPClient();           try {               int reply;               ftp.connect(url, port);               // 如果採用預設連接埠,可以使用ftp.connect(url)的方式直接連接FTP伺服器               ftp.login(userName, password);// 登入               reply = ftp.getReplyCode();               if (!FTPReply.isPositiveCompletion(reply)) {                   ftp.disconnect();                   return success;               }               ftp.changeWorkingDirectory(remotePath);// 轉移到FTP伺服器目錄               FTPFile[] fs = ftp.listFiles();               FTPFile ff;               for (int i = 0; i < fs.length; i++) {                   ff = fs[i];                   if (null != ff && null != ff.getName()                           && 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();               success = true;           } catch (IOException e) {               e.printStackTrace();               throw e;           } finally {               if (ftp.isConnected()) {                   try {                       ftp.disconnect();                   } catch (IOException ioe) {                   }               }           }           return success;       }          /**       * 從FTP伺服器列出指定檔案夾下檔案名稱列表。       *        * @param remotePath       *            FTP伺服器上的相對路徑       * @return List<String> 檔案名稱列表,如果出現異常返回null。       * @throws IOException       * @author 宋立君       * @date 2014年06月25日       */       public List<String> getFileNameList(String remotePath) throws IOException {           // 目錄列表記錄           List<String> fileNames = new ArrayList<String>();           FTPClient ftp = new FTPClient();           try {               int reply;               ftp.connect(url, port);               // 如果採用預設連接埠,可以使用ftp.connect(url)的方式直接連接FTP伺服器               ftp.login(userName, password);// 登入               reply = ftp.getReplyCode();               if (!FTPReply.isPositiveCompletion(reply)) {                   ftp.disconnect();                   return null;               }               ftp.changeWorkingDirectory(remotePath);// 轉移到FTP伺服器目錄               FTPFile[] fs = ftp.listFiles();               for (FTPFile file : fs) {                   fileNames.add(file.getName());               }               ftp.logout();           } catch (IOException e) {               e.printStackTrace();               throw e;           } finally {               if (ftp.isConnected()) {                   try {                       ftp.disconnect();                   } catch (IOException ioe) {                   }               }           }           return fileNames;       }      }  
2、 漢字轉拼音

[java] view plain copy print ? package com.itjh.test;      import net.sourceforge.pinyin4j.PinyinHelper;   import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;   import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;   import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;   import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;         public class SpellHelper {        //將中文轉換為英文        public static String getEname(String name) {              HanyuPinyinOutputFormat pyFormat = new HanyuPinyinOutputFormat();              pyFormat.setCaseType(HanyuPinyinCaseType. LOWERCASE);             pyFormat.setToneType(HanyuPinyinToneType. WITHOUT_TONE);              pyFormat.setVCharType(HanyuPinyinVCharType. WITH_V);                  return PinyinHelper. toHanyuPinyinString(name, pyFormat, "");        }           //姓、名的第一個字母需要為大寫        public static String getUpEname(String name) {               char[] strs = name.toCharArray();              String newname = null;                             //名字的長度        if (strs.length == 2) {                      newname = toUpCase(getEname ("" + strs[0])) + " "                              + toUpCase(getEname ("" + strs[1]));              } else if (strs. length == 3) {                   newname = toUpCase(getEname ("" + strs[0])) + " "     &

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.