冷面閻羅

          低調做人&&高調做事
          隨筆 - 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

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


          網站導航:
           
          主站蜘蛛池模板: 遵义市| 凤台县| 浪卡子县| 长春市| 东台市| 绵阳市| 浦东新区| 安乡县| 天祝| 方山县| 宁国市| 苍梧县| 广南县| 阳新县| 娄底市| 常宁市| 镇江市| 中西区| 尼玛县| 蕉岭县| 山阴县| 万山特区| 塔城市| 清涧县| 南安市| 日照市| 成安县| 蓝山县| 凉山| 盈江县| 芜湖市| 乐业县| 财经| 安徽省| 柞水县| 甘孜| 宝山区| 吴川市| 米脂县| 南江县| 阿拉善盟|