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

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

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

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    文件操作大全(待修訂)

    Posted on 2009-07-05 18:23 Gavin.lee 閱讀(213) 評論(0)  編輯  收藏 所屬分類: Log && File Operate
    package com.Gavin.tools;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;

    public class FileOperate {
    //    public static void main(String[] args) throws IOException {
    //        FileOperate f = new FileOperate();
    //        // System.out.println(f.readFile("f:\\LinkFile.java"));
    //        f.fileIsNull("D:\\java\\", "ejb");
    //        // f.readLineFile("D:\\java\\","TestFile.txt");
    //        // System.out.println(f.fileIsNull("f:\\","122.txt"));
    //        // f.readFolderByFile("F:\\Login"); //不區分大小寫
    //        // System.out.println(f.createAndDeleteFolder("ss","f:\\"));
    //        // System.out.println(f.createAndDeleteFile("f:\\ss\\","TestFile.dat"));
    //        // f.createAndDeleteFolder("1","D:\\java\\");
    //        String ss[] = new String[50]; // 定義對象數組
    //        for (int i = 0; i < ss.length; i++) {
    //            ss[i] = "信息技術和互聯網(計算機軟硬件,通訊) " + i;
    //        }
    //        f.writeFile("D:\\java\\", "TestFile.txt", ss);
    //
    //    }

        
    /**
         * 文件的寫入
         * 
         * 
    @param filePath(文件路徑)
         * 
    @param fileName(文件名)
         * 
    @param args[]
         * 
    @throws IOException
         
    */

        
    public void writeFile(String filePath, String fileName, String[] args)
                
    throws IOException {
            FileWriter fw 
    = new FileWriter(filePath + fileName);
            PrintWriter out 
    = new PrintWriter(fw);
            
    for (int i = 0; i < args.length; i++{
                out.write(args[i]);
                out.println();
                
    // out.flush();
            }

            System.out.println(
    "寫入成功!");
            fw.close();
            out.close();
        }


        
    /**
         * 文件的寫入
         * 
         * 
    @param filePath(文件路徑)
         * 
    @param fileName(文件名)
         * 
    @param args
         * 
    @throws IOException
         
    */

        
    public void writeFile(String filePath, String fileName, String args)
                
    throws IOException {
            FileWriter fw 
    = new FileWriter(filePath + fileName);
            fw.write(args);
            fw.close();
        }


        
    /**
         * 創建與刪除文件
         * 
         * 
    @param filePath
         * 
    @param fileName
         * 
    @return 創建成功返回true
         * 
    @throws IOException
         
    */

        
    public boolean createAndDeleteFile(String filePath, String fileName)
                
    throws IOException {
            
    boolean result = false;
            File file 
    = new File(filePath, fileName);
            
    if (file.exists()) {
                
    if (file.isFile()) {
                    file.delete();
                    result 
    = true;
                    System.out.println(
    "文件已經刪除!");
                }
     else {
                    System.out.println(
    "對不起,該路徑為目錄!");

                }

            }
     else {
                file.createNewFile(); 
    // jdk5.0的新方法
                result = true;
                System.out.println(
    "文件已經創建!");
            }

            
    return result;
        }


        
    /**
         * 創建和刪除目錄
         * 
         * 
    @param folderName
         * 
    @param filePath
         * 
    @return 刪除成功返回true
         
    */

        
    public boolean createAndDeleteFolder(String folderName, String filePath) {
            
    boolean result = false;
            
    try {
                File file 
    = new File(filePath + folderName);
                
    if (file.exists()) {
                    
    if (file.isDirectory()) {
                        file.delete();
                        System.out.println(
    "目錄已經存在,已刪除!");
                        result 
    = true;
                    }
     else {
                        System.out.println(
    "對不起,該路徑為文件!");
                    }

                }
     else {
                    file.mkdir();
                    System.out.println(
    "目錄不存在,已經建立!");
                    result 
    = true;
                }

            }
     catch (Exception ex) {
                result 
    = false;
                System.out.println(
    "CreateAndDeleteFolder is error:" + ex);
            }

            
    return result;
        }


        
    /**
         * 輸出目錄中的所有文件及目錄名字
         * 
         * 
    @param filePath
         
    */

        
    public void readFolderByFile(String filePath) {
            File file 
    = new File(filePath);
            File[] tempFile 
    = file.listFiles();
            
    for (int i = 0; i < tempFile.length; i++{
                
    if (tempFile[i].isFile()) {
                    System.out.println(
    "File : " + tempFile[i].getName());
                }

                
    if (tempFile[i].isDirectory()) {
                    System.out.println(
    "Directory : " + tempFile[i].getName());
                }

            }

        }


        
    /**
         * 檢查文件中是否為一個空
         * 
         * 
    @param filePath
         * 
    @param fileName
         * 
    @return 為空返回true
         * 
    @throws IOException
         
    */

        
    public boolean fileIsNull(String filePath, String fileName)
                
    throws IOException {
            
    boolean result = false;
            FileReader fr 
    = new FileReader(filePath + fileName);
            
    if (fr.read() == -1{
                result 
    = true;
                System.out.println(fileName 
    + " 文件中沒有數據!");
            }
     else {
                System.out.println(fileName 
    + " 文件中有數據!");
            }

            fr.close();
            
    return result;
        }


        
    /**
         * 讀取文件中的所有內容
         * 
         * 
    @param filePath
         * 
    @param fileName
         * 
    @throws IOException
         
    */

        
    public void readAllFile(String filePath, String fileName)
                
    throws IOException {
            FileReader fr 
    = new FileReader(filePath + fileName);
            
    // PrintWriter pr=new PrintWriter(fr);
            
    // pr.print
            int count = fr.read();
            
    while (count != -1{
                System.out.print((
    char) count);
                count 
    = fr.read();
                
    // System.out.println();
                if (count == 13{
                    fr.skip(
    1);
                    System.out.print(
    "跳過!");
                }

            }

            System.out.println();
            fr.close();
        }


        
    /**
         * 一行一行的讀取文件中的數據
         * 
         * 
    @param filePath
         * 
    @param fileName
         * 
    @throws IOException
         
    */

        
    public void readLineFile(String filePath, String fileName)
                
    throws IOException {
            FileReader fr 
    = new FileReader(filePath + fileName);
            BufferedReader br 
    = new BufferedReader(fr);
            String line 
    = br.readLine();
            
    while (line != null{
                System.out.println(line);
                line 
    = br.readLine();
            }

            br.close();
            fr.close();
        }



        
    /**
         * 
    @see 新建目錄,通用性不好,只能建立一級
         * 
    @param folderPath
         *            String 如 c:/floder
         * 
    @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();
            }

        }

        
    public static void main(String args[]) {        
            FileOperate fo 
    = new FileOperate();
            fo.newFolder(
    "c:/test");
            System.out.println(fo.getProjectRootPath());
        }

        
    /**
         * 
    @see 新建文件
         * 
    @param filePathAndName
         *            String 文件路徑及名稱 如c:/fqf.txt
         * 
    @param fileContent
         *            String 文件內容
         * 
    @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();

            }

        }



        
    /**
         * 
    @see 刪除文件
         * 
    @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();
                System.out.println(myDelFile 
    + "\\文件存在,已刪除。");

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

            }


        }


        
    /**
         * 
    @see 刪除文件夾
         * 
    @param filePathAndName
         *            String 文件夾路徑及名稱 如c:/fqf
         * 
    @param fileContent
         *            String
         * 
    @return boolean
         
    */

        
    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) {
                System.out.println(
    "刪除文件夾操作出錯");
                e.printStackTrace();

            }


        }


        
    /**
         * 
    @see 刪除文件夾里面的所有文件
         * 
    @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]);// 再刪除空文件夾
                }

            }

        }


        
    /**
         * 
    @see 復制單個文件
         * 
    @param oldPath
         *            String 原文件路徑 如:c:/fqf.txt
         * 
    @param newPath
         *            String 復制后路徑 如: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 = 0;
                    while ((byteread = inStream.read(buffer)) != -1{
                        bytesum 
    += byteread; // 字節數 文件大小
                        System.out.println(bytesum);
                        fs.write(buffer, 
    0, byteread);
                    }

                    inStream.close();
                }

            }
     catch (Exception e) {
                System.out.println(
    "復制單個文件操作出錯");
                e.printStackTrace();

            }


        }


        
    /**
         * 
    @see 復制整個文件夾內容
         * 
    @param oldPath
         *            String 原文件路徑 如:c:/fqf
         * 
    @param newPath
         *            String 復制后路徑 如: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(
    "復制整個文件夾內容操作出錯");
                e.printStackTrace();

            }


        }


        
    /**
         * 
    @see 移動文件到指定目錄
         * 
    @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);

        }



        
    /**
         * 
    @see 獲得系統根目錄絕對路徑
         * 
    @return D:/MyWorkSpace/tools/WebRoot/
         
    */

        
    public String getProjectRootPath() {

            String sysPath 
    = this.getClass().getResource("/").getPath();
            
    // 對路徑進行修改
            sysPath = sysPath.substring(1, sysPath.length() - 16);
            
    return sysPath;

        }

        
    }

    主站蜘蛛池模板: 特级精品毛片免费观看| 国产99久久久国产精免费| 亚洲a∨无码一区二区| 理论片在线观看免费| 国产精品极品美女自在线观看免费| 日本午夜免费福利视频| 啦啦啦在线免费视频| 亚洲七七久久精品中文国产| 亚洲成在人线av| 亚洲人成在线精品| 污视频网站在线免费看| 野花香高清在线观看视频播放免费| 狠狠热精品免费观看| 成全视频在线观看免费| 日本妇人成熟免费中文字幕| 国产成人精品免费直播| 久久夜色精品国产亚洲AV动态图| 亚洲第一黄片大全| 久久99国产亚洲精品观看| 亚洲videos| 高清免费久久午夜精品| 99久久人妻精品免费一区| 免费看少妇作爱视频| 亚洲国产精品无码一线岛国| 67194在线午夜亚洲| 亚洲高清免费视频| 在人线av无码免费高潮喷水| 亚洲欧洲久久av| 亚洲中文无码av永久| 一个人看www免费高清字幕| 91黑丝国产线观看免费 | 国产亚洲视频在线| 日韩免费高清播放器| 99热在线精品免费全部my| 2048亚洲精品国产| 精品亚洲456在线播放| 99久久国产精品免费一区二区 | 亚洲午夜爱爱香蕉片| 亚洲欧洲精品视频在线观看| 男人免费视频一区二区在线观看| 特级av毛片免费观看|