package com.pnova.togo.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Writer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author keith * @version 1.0 */ public class FileUtil { /** log */ private static Log log = LogFactory.getLog(FileUtil.class); /** * 建立目录 * @param folder String 目录名称 * @throws FilesException * @throws NoExistException */ public static void createFolder(String folder) { if (folder != null && !folder.equals("")) { boolean success = true; File fileDirectory = new File(folder); if (!fileDirectory.exists()) { success = fileDirectory.mkdirs(); } fileDirectory = null; if (!success) { } else { return; } } else { log.info("输入目录为空!"); } } /** * 删除目录 * @param folder String * @throws FilesException */ public static void deleteFolder(String folder) { boolean success = true; File fileDirectory = new File(folder); if (fileDirectory.exists()) { fileDirectory.delete(); } if (!success) { } else { return; } } /** * 建立文件 * @param folder String 目录名 * @param fileName String 文件名 * @param htmlText String 内容 * @throws FilesException * @throws NoExistException * @throws IOException */ public static void createFile(String folder, String fileName, String text) throws IOException { if (fileName == null || fileName.equals("")) { throw new IOException("文件路径为空"); } else { createFolder(folder); //建立一个文件 文件名为fileName String newFileName = folder + fileName; System.out.println(newFileName); File file = new File(newFileName); log.debug("url===" + file.toURI()); if (file.exists()) { log.debug("原文件已被覆盖"); } //file对象建立一个新文件 file.createNewFile(); //new一个文件些对象 OutputStreamWriter outputStreamWriter = new OutputStreamWriter( new FileOutputStream(newFileName), "UTF-8"); Writer writer = new BufferedWriter(outputStreamWriter); PrintWriter printWriter = new PrintWriter(writer); StringBuffer sbuffer = new StringBuffer(text); printWriter.print(sbuffer); writer.close(); printWriter.close(); outputStreamWriter.close(); } } /** * 建立文件 * @param folder String 目录名 * @param fileName String 文件名 * @param htmlText String 内容 * @throws FilesException * @throws NoExistException * @throws IOException */ // public static void createFile(String folder, String fileName, String text) throws // FilesFileException, NoExistFileException, IOException { // if (fileName == null || fileName.equals("")) { // // throw new FilesFileException("文件路径为空"); // } // else { // createFolder(folder); // //建立一个文件 文件名为fileName // String newFileName = folder + fileName; // File file = new File(newFileName); // log.debug("url===" + file.toURI()); // // if (file.exists()) { // log.debug("原文件已被覆盖"); // } // //file对象建立一个新文件 // file.createNewFile(); // //new一个文件些对象 // FileWriter fileWriter = new FileWriter(newFileName); // Writer writer = new BufferedWriter(fileWriter); // PrintWriter printWriter = new PrintWriter(writer); // StringBuffer sbuffer = new StringBuffer(text); // printWriter.print(sbuffer); // writer.close(); // printWriter.close(); // fileWriter.close(); // } // } /** * 移动文件 * @param srcFileName String 要移动的文件 * @param desFolder String 要移动到的目标目录 * @throws FilesException * @throws NoExistException */ public static void moveFile(String srcFileName, String desFolder) { boolean success = true; File srcFile = new File(srcFileName); createFolder(desFolder); String fileName = srcFile.getName(); String desFileName = String.valueOf(String.valueOf((new StringBuffer( String.valueOf(String.valueOf(desFolder)))).append( File.separatorChar).append(fileName))); File desFile = new File(desFileName); srcFile.renameTo(desFile); if (!success) { } else { return; } } /** * 删除文件 * @param srcFileName String * @throws FilesException */ public static void deleteFile(String srcFileName) { boolean success = true; File file = new File(srcFileName); if (file.exists()) { file.delete(); } if (!success) { } else { return; } } /** * 获取文件的扩展名 * @param fileName 文件名 * @return */ public static String getFileExt(String fileName) { if (fileName == null) { return ""; } int pos = fileName.lastIndexOf("."); if (pos == -1) { return ""; } return fileName.substring(pos + 1); } /** * filePath路径下是否存在文件file * @param filePath 文件路径 * @param file 文件名 * @return boolean */ public static boolean isFileExist(String filePath, String file) { if (filePath == null || file == null) { return false; } String absPath = null; if (filePath.endsWith("/") || filePath.endsWith("//")) { absPath = filePath + file; } else { absPath = filePath + File.separator + file; } return (new File(absPath)).exists(); } public static String ReadFile(String absolutePath) { String resultStr = ""; String fileStr = ""; try { File file = new File(absolutePath); FileInputStream in = new FileInputStream(file); BufferedReader bu = new BufferedReader(new InputStreamReader(in, "UTF-8")); while ((fileStr = bu.readLine()) != null) { resultStr = resultStr + fileStr; } bu.close(); } catch (Exception e) { System.out.println("读取数据错误"); } return resultStr; } public static void main(String agr[]) { //得到文件名后缀 // log.debug(f.getFileExt("fs.tss")); //文件是否存在于某个目录中 // log.debug(f.isFileExist("c://moveFile//", "out.txt")); try { //f.moveFile("C://zz//1//out.txt", "c://moveFile//"); //f.deleteFile("c://moveFile//out.txt"); //f.createFile("c://moveFile//", "zz.txt", "tamade"); //createFolder("c://moveFile//case"); System.out.println(ReadFile("f:/test.txt")); } catch (Exception e) { } } }