冷面閻羅

          低調做人&&高調做事
          隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
          數據加載中……

          java刪除文件失敗

                  前幾天做用java導入execl數據,程序是去年一個新員工寫的,當時測試數據是可以導入的,再多也沒研究里面的方法合理不、能否優化都沒有再考慮這些。
                  導入的文件比較多,我就想給你加個把成功導入的execl文件轉移到另外一個文件夾下,轉移是沒有問題,可是刪除就出了問題,看刪除方法是沒有問題,就開始看他寫的代碼,發現讀取execl文件的流沒有關閉,導致文件無法。
                  我就在try catch finally的finally中把這個流關閉,然后在進行我文件復制和刪除。
               
                  我的復制文件方法和刪除文件方法如下
           1    public static boolean copyFile(String oldPath, String newPath) {
           2        try {
           3            int bytesum = 0;
           4            int byteread = 0;
           5            File oldfile = new File(oldPath);
           6            if (oldfile.exists()) // 文件存在時
           7                InputStream inStream = new FileInputStream(oldPath); // 讀入原文件
           8                FileOutputStream fs = new FileOutputStream(newPath);
           9                byte[] buffer = new byte[1444];
          10                int length;
          11                while ((byteread = inStream.read(buffer)) != -1{
          12                    bytesum += byteread; // 字節數 文件大小
          13                    // System.out.println(bytesum);
          14                    fs.write(buffer, 0, byteread);
          15                }

          16                inStream.close();
          17                fs.close();
          18            }

          19            return true;
          20        }
           catch (Exception e) {
          21            // System.out.println("復制單個文件操作出錯");
          22            e.printStackTrace();
          23            return false;
          24        }

          25    }

          26
          27    /**
          28     * 刪除文件或者文件夾,對于文件夾遍歷其子文件夾進行遞歸刪除
          29     * 
          30     * @param f -
          31     *            File對象
          32     * @return 刪除是否成功
          33     */

          34    public static boolean deleteFile(File f) {
          35        if (f.exists()) {
          36            if (f.isFile())
          37                return f.delete();
          38            else if (f.isDirectory()) {
          39                File[] files = f.listFiles();
          40                for (int i = 0; i < files.length; i++{
          41                    if (!deleteFile(files[i]))
          42                        return false;
          43                }

          44                return f.delete();
          45            }
           else
          46                return false;
          47        }
           else
          48            return false;
          49    }

          posted on 2008-01-10 09:21 冷面閻羅 閱讀(4739) 評論(2)  編輯  收藏

          評論

          # re: java刪除文件失敗  回復  更多評論   

          我部機的應用軟件道產生不能刪除的軟見,一選擇就顯示操作失??!求各位高手幫忙啊!
          2009-01-15 18:40 | rt

          # re: java刪除文件失敗  回復  更多評論   

          1.確認各個流已經close
          2.執行系統回收System.gc();
          2012-11-01 11:15 | ForDocuments

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


          網站導航:
           
          主站蜘蛛池模板: 娱乐| 三原县| 琼中| 靖宇县| 梅河口市| 富川| 兴化市| 四会市| 贵德县| 天祝| 松江区| 清丰县| 金川县| 嘉兴市| 泗洪县| 环江| 昭通市| 慈利县| 甘南县| 科尔| 繁峙县| 拜城县| 湘阴县| 上犹县| 怀仁县| 兰州市| 庆元县| 淳化县| 朝阳市| 手机| 东丰县| 灵山县| 游戏| 浮梁县| 红安县| 宝鸡市| 泸西县| 桑日县| 馆陶县| 星座| 津南区|