<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.util.StringTokenizer;
    public class FileOperate {
    ??? private String message;
    ??? public FileOperate() {
    ??? }

    ??? /**
    ???? * 讀取文本文件內容
    ???? * @param filePathAndName 帶有完整絕對路徑的文件名
    ???? * @param encoding 文本文件打開的編碼方式
    ???? * @return 返回文本文件的內容
    ???? */

    ??? public String readTxt(String filePathAndName,String encoding) throws IOException{
    ??? ?encoding = encoding.trim();
    ??? ?StringBuffer str = new StringBuffer("");
    ??? ?String st = "";
    ??? ?try{
    ???? ?FileInputStream fs = new FileInputStream(filePathAndName);
    ???? ?InputStreamReader isr;
    ???? ?if(encoding.equals("")){
    ???? ??isr = new InputStreamReader(fs);
    ???? ?}else{
    ???? ??isr = new InputStreamReader(fs,encoding);
    ???? ?}
    ???? ?BufferedReader br = new BufferedReader(isr);
    ???? ?try{
    ???? ??String data = "";
    ???? ??while((data = br.readLine())!=null){
    ???? ????str.append(data+" ");
    ???? ??}
    ???? ?}catch(Exception e){
    ???? ??str.append(e.toString());
    ???? ?}
    ???? ?st = str.toString();
    ??? ?}catch(IOException es){
    ??? ??st = "";
    ??? ?}
    ??? ?return st;??? ?
    ??? }

    ??? /**
    ???? * 新建目錄
    ???? * @param folderPath 目錄
    ???? * @return 返回目錄創建后的路徑
    ???? */

    ??? public String createFolder(String folderPath) {
    ??????? String txt = folderPath;
    ??????? try {
    ??????????? java.io.File myFilePath = new java.io.File(txt);
    ??????????? txt = folderPath;
    ??????????? if (!myFilePath.exists()) {
    ??????????????? myFilePath.mkdir();
    ??????????? }
    ??????? }
    ??????? catch (Exception e) {
    ??????????? message = "創建目錄操作出錯";
    ??????? }
    ??????? return txt;
    ??? }
    ???
    ??? /**
    ???? * 多級目錄創建
    ???? * @param folderPath 準備要在本級目錄下創建新目錄的目錄路徑 例如 c:myf
    ???? * @param paths 無限級目錄參數,各級目錄以單數線區分 例如 a|b|c
    ???? * @return 返回創建文件后的路徑 例如 c:myfac
    ???? */

    ??? public String createFolders(String folderPath, String paths){
    ??????? String txts = folderPath;
    ??????? try{
    ??????????? String txt;
    ??????????? txts = folderPath;
    ??????????? StringTokenizer st = new StringTokenizer(paths,"|");
    ??????????? for(int i=0; st.hasMoreTokens(); i++){
    ??????????????????? txt = st.nextToken().trim();
    ??????????????????? if(txts.lastIndexOf("/")!=-1){
    ??????????????????????? txts = createFolder(txts+txt);
    ??????????????????? }else{
    ??????????????????????? txts = createFolder(txts+txt+"/");???
    ??????????????????? }
    ??????????? }
    ?????? }catch(Exception e){
    ?????????? message = "創建目錄操作出錯!";
    ?????? }
    ??????? return txts;
    ??? }

    ???
    ??? /**
    ???? * 新建文件
    ???? * @param filePathAndName 文本文件完整絕對路徑及文件名
    ???? * @param fileContent 文本文件內容
    ???? * @return
    ???? */

    ??? public void createFile(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);
    ??????????? myFile.close();
    ??????????? resultFile.close();
    ??????? }
    ??????? catch (Exception e) {
    ??????????? message = "創建文件操作出錯";
    ??????? }
    ??? }


    ??? /**
    ???? * 有編碼方式的文件創建
    ???? * @param filePathAndName 文本文件完整絕對路徑及文件名
    ???? * @param fileContent 文本文件內容
    ???? * @param encoding 編碼方式 例如 GBK 或者 UTF-8
    ???? * @return
    ???? */

    ??? public void createFile(String filePathAndName, String fileContent, String encoding) {
    ??? ?
    ??????? try {
    ??????????? String filePath = filePathAndName;
    ??????????? filePath = filePath.toString();
    ??????????? File myFilePath = new File(filePath);
    ??????????? if (!myFilePath.exists()) {
    ??????????????? myFilePath.createNewFile();
    ??????????? }
    ??????????? PrintWriter myFile = new PrintWriter(myFilePath,encoding);
    ??????????? String strContent = fileContent;
    ??????????? myFile.println(strContent);
    ??????????? myFile.close();
    ??????? }
    ??????? catch (Exception e) {
    ??????????? message = "創建文件操作出錯";
    ??????? }
    ??? }


    ??? /**
    ???? * 刪除文件
    ???? * @param filePathAndName 文本文件完整絕對路徑及文件名
    ???? * @return Boolean 成功刪除返回true遭遇異常返回false
    ???? */

    ??? public boolean delFile(String filePathAndName) {
    ??? ?boolean bea = false;
    ??????? try {
    ??????????? String filePath = filePathAndName;
    ??????????? File myDelFile = new File(filePath);
    ??????????? if(myDelFile.exists()){
    ??????????? ?myDelFile.delete();
    ??????????? ?bea = true;
    ??????????? }else{
    ??????????? ?bea = false;
    ??????????? ?message = (filePathAndName+"
    刪除文件操作出錯");
    ??????????? }
    ??????? }
    ??????? catch (Exception e) {
    ??????????? message = e.toString();
    ??????? }
    ??????? return bea;
    ??? }
    ???


    ??? /**
    ???? * 刪除文件夾
    ???? * @param folderPath 文件夾完整絕對路徑
    ???? * @return
    ???? */

    ??? public void delFolder(String folderPath) {
    ??????? try {
    ??????????? delAllFile(folderPath); //刪除完里面所有內容
    ??????????? String filePath = folderPath;
    ??????????? filePath = filePath.toString();
    ??????????? java.io.File myFilePath = new java.io.File(filePath);
    ??????????? myFilePath.delete(); //刪除空文件夾
    ??????? }
    ??????? catch (Exception e) {
    ??????????? message = ("刪除文件夾操作出錯");
    ??????? }
    ??? }
    ???
    ???
    ??? /**
    ???? * 刪除指定文件夾下所有文件
    ???? * @param path 文件夾完整絕對路徑
    ???? * @return
    ???? * @return
    ???? */

    ??? public boolean delAllFile(String path) {
    ??? ?boolean bea = false;
    ??????? File file = new File(path);
    ??????? if (!file.exists()) {
    ??????????? return bea;
    ??????? }
    ??????? if (!file.isDirectory()) {
    ??????????? return bea;
    ??????? }
    ??????? 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]);//再刪除空文件夾
    ??????????????? bea = true;
    ??????????? }
    ??????? }
    ??????? return bea;
    ??? }


    ??? /**
    ???? * 復制單個文件
    ???? * @param oldPathFile 準備復制的文件源
    ???? * @param newPathFile 拷貝到新絕對路徑帶文件名
    ???? * @return
    ???? */

    ??? public void copyFile(String oldPathFile, String newPathFile) {
    ??????? try {
    ??????????? int bytesum = 0;
    ??????????? int byteread = 0;
    ??????????? File oldfile = new File(oldPathFile);
    ??????????? if (oldfile.exists()) { //文件存在時
    ??????????????? InputStream inStream = new FileInputStream(oldPathFile); //讀入原文件
    ??????????????? FileOutputStream fs = new FileOutputStream(newPathFile);
    ??????????????? byte[] buffer = new byte[1444];
    ??????????????? while((byteread = inStream.read(buffer)) != -1){
    ??????????????????? bytesum += byteread; //字節數 文件大小
    ??????????????????? System.out.println(bytesum);
    ??????????????????? fs.write(buffer, 0, byteread);
    ??????????????? }
    ??????????????? inStream.close();
    ??????????? }
    ??????? }catch (Exception e) {
    ??????????? message = ("復制單個文件操作出錯");
    ??????? }
    ??? }
    ???

    ??? /**
    ???? * 復制整個文件夾的內容
    ???? * @param oldPath 準備拷貝的目錄
    ???? * @param newPath 指定絕對路徑的新目錄
    ???? * @return
    ???? */

    ??? 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) {
    ??????????? message = "復制整個文件夾內容操作出錯";
    ??????? }
    ??? }


    ??? /**
    ???? * 移動文件
    ???? * @param oldPath
    ???? * @param newPath
    ???? * @return
    ???? */

    ??? public void moveFile(String oldPath, String newPath) {
    ??????? copyFile(oldPath, newPath);
    ??????? delFile(oldPath);
    ??? }
    ???

    ??? /**
    ???? * 移動目錄
    ???? * @param oldPath
    ???? * @param newPath
    ???? * @return
    ???? */

    ??? public void moveFolder(String oldPath, String newPath) {
    ??????? copyFolder(oldPath, newPath);
    ??????? delFolder(oldPath);
    ??? }
    ??? public String getMessage(){
    ??????? return this.message;
    ??? }
    }



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-03-06 22:00 小尋 閱讀(1115) 評論(1)  編輯  收藏 所屬分類: j2se/j2ee/j2me

    FeedBack:
    # re: [轉]全面文件操作java代碼 2009-01-05 17:53 wgc
    不錯,蠻全的,贊個  回復  更多評論
      
    主站蜘蛛池模板: 中文字幕专区在线亚洲| 一级毛片免费播放试看60分钟| 亚洲人成无码网WWW| 免费观看的毛片大全| 最近2019中文免费字幕在线观看| 久久亚洲中文字幕无码| 亚洲六月丁香婷婷综合| 亚洲视频日韩视频| 亚洲国产精品SSS在线观看AV| 伊在人亚洲香蕉精品区麻豆| 成人免费无码大片a毛片| 国产91免费视频| 久久永久免费人妻精品下载| 国产无遮挡色视频免费观看性色| 大桥未久亚洲无av码在线| 亚洲中文字幕乱码AV波多JI| 亚洲男人电影天堂| 亚洲黄色免费在线观看| 久久久亚洲欧洲日产国码二区| 国产AV无码专区亚洲精品| 亚洲一区二区女搞男| 亚洲人成无码网站| 国产亚洲日韩一区二区三区| 亚洲一区日韩高清中文字幕亚洲| 免费看国产一级特黄aa大片| 四虎成人精品在永久免费| 浮力影院第一页小视频国产在线观看免费 | 亚洲AV永久纯肉无码精品动漫| 国产av无码专区亚洲av果冻传媒 | 最新亚洲人成无码网站| 亚洲成av人在线观看网站 | 国产又大又长又粗又硬的免费视频| 妞干网免费视频在线观看| 我要看免费的毛片| 精品少妇人妻AV免费久久洗澡| 在线播放高清国语自产拍免费| 日韩免费高清一级毛片在线| 国产网站免费观看| 亚洲国产成人精品女人久久久 | 亚洲精品无码久久久久秋霞 | 午夜免费不卡毛片完整版|