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])) + " " &