麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

java切割大文件方法

2024-07-21 02:52:43
字體:
來源:轉載
供稿:網友
package dividefile;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException; public class dividefile {    public static final String SUFFIX = ".sql"; // 分割后的文件名后綴     // 將指定的文件按著給定的文件的字節數進行分割文件,其中name指的是需要進行分割的文件名,size指的是指定的小文件的大小    public static String[] divide(String name, long size) throws Exception {        File file = new File(name);        if (!file.exists() || (!file.isFile())) {            throw new Exception("指定文件不存在!");        }        // 獲得被分割文件父文件,將來被分割成的小文件便存在這個目錄下        File parentFile = file.getParentFile();        // 取得文件的大小        long fileLength = file.length();         System.out.PRintln("文件大?。?quot; + fileLength + " 字節");         if (size <= 0) {            size = fileLength / 2;        }        // 取得被分割后的小文件的數目        int num = (fileLength % size != 0) ? (int) (fileLength / size + 1)                : (int) (fileLength / size);        // 存放被分割后的小文件名        String[] fileNames = new String[num];        // 輸入文件流,即被分割的文件        FileInputStream in = new FileInputStream(file);        // 讀輸入文件流的開始和結束下標        long end = 0;        int begin = 0;        // 根據要分割的數目輸出文件        for (int i = 0; i < num; i++) {            // 對于前num - 1個小文件,大小都為指定的size            File outFile = new File(parentFile, file.getName() + i + SUFFIX);            // 構建小文件的輸出流            FileOutputStream out = new FileOutputStream(outFile);            // 將結束下標后移size            end += size;            end = (end > fileLength) ? fileLength : end;            // 從輸入流中讀取字節存儲到輸出流中            for (; begin < end; begin++) {                out.write(in.read());            }            out.close();            fileNames[i] = outFile.getAbsolutePath();        }        in.close();        return fileNames;    }     public static void readFileMessage(String fileName) {// 將分割成的小文件中的內容讀出        File file = new File(fileName);        BufferedReader reader = null;        try {            reader = new BufferedReader(new FileReader(file));            String string = null;            // 按行讀取內容,直到讀入null則表示讀取文件結束            while ((string = reader.readLine()) != null) {                System.out.println(string);            }            reader.close();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (reader != null) {                try {                    reader.close();                } catch (IOException e1) {                }            }        }    }     public static void main(final String[] args) throws Exception {        String name = "G:/ad.tar/ad/ad_samples.dat";        long size = 1024 * 1024 * 4;// 1K=1024b(字節)        String[] fileNames = dividefile.divide(name, size);        System.out.println("文件" + name + "分割的結果如下:");        for (int i = 0; i < fileNames.length; i++) {            System.out.println(fileNames[i] + "的內容如下:");            // FenGeFile.readFileMessage(fileNames[i]);            System.out.println();        }    }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 失禁高潮抽搐喷水h | 麻豆传传媒久久久爱 | 亚洲无限资源 | 青草av.久久免费一区 | 国产日韩在线 | 国产成人av在线播放 | 日本成人一区二区 | xxxxhdhdhdhd日本| 成人免费毛片片v | 免费黄色在线观看网站 | 国产精品免费小视频 | 在线成人毛片 | 久久成人综合视频 | 午夜视频大全 | 色阁阁69婷婷 | 午夜视频福利 | h视频在线播放 | 国产精品久久久久网站 | 五月天堂av91久久久 | 国产一级在线看 | 免费在线观看国产精品 | 日韩视频在线视频 | 久久久国产一级片 | 亚洲第一页综合 | 日本在线视频一区二区三区 | 182tv成人福利视频免费看 | 国产精品亚洲欧美一级在线 | 中文字幕在线观看亚洲 | av成人一区二区 | 青热久思思 | 在线看小早川怜子av | 一本免费视频 | 精品国产一区二区三区四区在线 | 99re66热这里只有精品8 | 久久久久久久久成人 | 爱爱视频天天干 | 高清av免费 | 亚洲va国产va | 亚洲欧美不卡视频 | 成人午夜视屏 | 欧美一级特黄a |