隨筆-8  評論-31  文章-0  trackbacks-0

          這東西比較有用:[轉(zhuǎn)載].出處:http://mike20049.spaces.live.com/mmm2006-09-13_01.00/
          我收藏啦.:)
          import java.io.*;

          public class FileOperate {
          ? public FileOperate() {
          ? }

          ? /**
          ?? * 新建目錄
          ?? * @param folderPath String 如 c:/fqf
          ?? * @return boolean
          ?? */
          ? public void newFolder(String folderPath) {
          ??? try {
          ????? String filePath = folderPath;
          ????? filePath = filePath.toString();
          ????? java.io.File myFilePath = new java.io.File(filePath);
          ????? if (!myFilePath.exists()) {
          ??????? myFilePath.mkdir();
          ????? }
          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("新建目錄操作出錯");
          ????? e.printStackTrace();
          ??? }
          ? }

          ? /**
          ?? * 新建文件
          ?? * @param filePathAndName String 文件路徑及名稱 如c:/fqf.txt
          ?? * @param fileContent String 文件內(nèi)容
          ?? * @return boolean
          ?? */
          ? public void newFile(String filePathAndName, String fileContent) {

          ??? try {
          ????? String filePath = filePathAndName;
          ????? filePath = filePath.toString();
          ????? File myFilePath = new File(filePath);
          ????? if (!myFilePath.exists()) {
          ??????? myFilePath.createNewFile();
          ????? }
          ????? FileWriter resultFile = new FileWriter(myFilePath);
          ????? PrintWriter myFile = new PrintWriter(resultFile);
          ????? String strContent = fileContent;
          ????? myFile.println(strContent);
          ????? resultFile.close();

          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("新建目錄操作出錯");
          ????? e.printStackTrace();

          ??? }

          ? }

          ? /**
          ?? * 刪除文件
          ?? * @param filePathAndName String 文件路徑及名稱 如c:/fqf.txt
          ?? * @param fileContent String
          ?? * @return boolean
          ?? */
          ? public void delFile(String filePathAndName) {
          ??? try {
          ????? String filePath = filePathAndName;
          ????? filePath = filePath.toString();
          ????? java.io.File myDelFile = new java.io.File(filePath);
          ????? myDelFile.delete();

          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("刪除文件操作出錯");
          ????? e.printStackTrace();

          ??? }

          ? }

          ? /**
          ?? * 刪除文件夾
          ?? * @param filePathAndName String 文件夾路徑及名稱 如c:/fqf
          ?? * @param fileContent String
          ?? * @return boolean
          ?? */
          ? public void delFolder(String folderPath) {
          ??? try {
          ????? delAllFile(folderPath); //刪除完里面所有內(nèi)容
          ????? String filePath = folderPath;
          ????? filePath = filePath.toString();
          ????? java.io.File myFilePath = new java.io.File(filePath);
          ????? myFilePath.delete(); //刪除空文件夾

          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("刪除文件夾操作出錯");
          ????? e.printStackTrace();

          ??? }

          ? }

          ? /**
          ?? * 刪除文件夾里面的所有文件
          ?? * @param path String 文件夾路徑 如 c:/fqf
          ?? */
          ? public void delAllFile(String path) {
          ??? File file = new File(path);
          ??? if (!file.exists()) {
          ????? return;
          ??? }
          ??? if (!file.isDirectory()) {
          ????? return;
          ??? }
          ??? String[] tempList = file.list();
          ??? File temp = null;
          ??? for (int i = 0; i < tempList.length; i++) {
          ????? if (path.endsWith(File.separator)) {
          ??????? temp = new File(path + tempList[i]);
          ????? }
          ????? else {
          ??????? temp = new File(path + File.separator + tempList[i]);
          ????? }
          ????? if (temp.isFile()) {
          ??????? temp.delete();
          ????? }
          ????? if (temp.isDirectory()) {
          ??????? delAllFile(path+"/"+ tempList[i]);//先刪除文件夾里面的文件
          ??????? delFolder(path+"/"+ tempList[i]);//再刪除空文件夾
          ????? }
          ??? }
          ? }

          ? /**
          ?? * 復(fù)制單個文件
          ?? * @param oldPath String 原文件路徑 如:c:/fqf.txt
          ?? * @param newPath String 復(fù)制后路徑 如:f:/fqf.txt
          ?? * @return boolean
          ?? */
          ? public void copyFile(String oldPath, String newPath) {
          ??? try {
          ????? int bytesum = 0;
          ????? int byteread = 0;
          ????? File oldfile = new File(oldPath);
          ????? if (oldfile.exists()) { //文件存在時
          ??????? InputStream inStream = new FileInputStream(oldPath); //讀入原文件
          ??????? FileOutputStream fs = new FileOutputStream(newPath);
          ??????? byte[] buffer = new byte[1444];
          ??????? int length;
          ??????? while ( (byteread = inStream.read(buffer)) != -1) {
          ????????? bytesum += byteread; //字節(jié)數(shù) 文件大小
          ????????? System.out.println(bytesum);
          ????????? fs.write(buffer, 0, byteread);
          ??????? }
          ??????? inStream.close();
          ????? }
          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("復(fù)制單個文件操作出錯");
          ????? e.printStackTrace();

          ??? }

          ? }

          ? /**
          ?? * 復(fù)制整個文件夾內(nèi)容
          ?? * @param oldPath String 原文件路徑 如:c:/fqf
          ?? * @param newPath String 復(fù)制后路徑 如:f:/fqf/ff
          ?? * @return boolean
          ?? */
          ? public void copyFolder(String oldPath, String newPath) {

          ??? try {
          ????? (new File(newPath)).mkdirs(); //如果文件夾不存在 則建立新文件夾
          ????? File a=new File(oldPath);
          ????? String[] file=a.list();
          ????? File temp=null;
          ????? for (int i = 0; i < file.length; i++) {
          ??????? if(oldPath.endsWith(File.separator)){
          ????????? temp=new File(oldPath+file[i]);
          ??????? }
          ??????? else{
          ????????? temp=new File(oldPath+File.separator+file[i]);
          ??????? }

          ??????? if(temp.isFile()){
          ????????? FileInputStream input = new FileInputStream(temp);
          ????????? FileOutputStream output = new FileOutputStream(newPath + "/" +
          ????????????? (temp.getName()).toString());
          ????????? byte[] b = new byte[1024 * 5];
          ????????? int len;
          ????????? while ( (len = input.read(b)) != -1) {
          ??????????? output.write(b, 0, len);
          ????????? }
          ????????? output.flush();
          ????????? output.close();
          ????????? input.close();
          ??????? }
          ??????? if(temp.isDirectory()){//如果是子文件夾
          ????????? copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
          ??????? }
          ????? }
          ??? }
          ??? catch (Exception e) {
          ????? System.out.println("復(fù)制整個文件夾內(nèi)容操作出錯");
          ????? e.printStackTrace();

          ??? }

          ? }

          ? /**
          ?? * 移動文件到指定目錄
          ?? * @param oldPath String 如:c:/fqf.txt
          ?? * @param newPath String 如:d:/fqf.txt
          ?? */
          ? public void moveFile(String oldPath, String newPath) {
          ??? copyFile(oldPath, newPath);
          ??? delFile(oldPath);

          ? }

          ? /**
          ?? * 移動文件到指定目錄
          ?? * @param oldPath String 如:c:/fqf.txt
          ?? * @param newPath String 如:d:/fqf.txt
          ?? */
          ? public void moveFolder(String oldPath, String newPath) {
          ??? copyFolder(oldPath, newPath);
          ??? delFolder(oldPath);

          ? }
          }

          posted on 2006-10-24 11:02 自己的小屋 閱讀(876) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 武山县| 墨竹工卡县| 甘泉县| 博客| 万山特区| 汶川县| 油尖旺区| 嵩明县| 分宜县| 南部县| 新龙县| 天等县| 康乐县| 丰顺县| 佳木斯市| 灵武市| 萍乡市| 东台市| 山阳县| 永新县| 石楼县| 安陆市| 河西区| 黎川县| 博野县| 鄂州市| 麻栗坡县| 长宁区| 松阳县| 玉山县| 沈丘县| 麦盖提县| 巴马| 尉犁县| 阿坝县| 修武县| 青阳县| 麦盖提县| 谢通门县| 柘城县| 金山区|