Làm sao để cắt file trong Java, có mấy cách để cắt file trong Java?

Có hai cách cắt file trong Java. Một là cắt file theo dung lượng mình quy định, hai là cắt file theo số file mình quy định. Trong bài này mình hưởng dẫn các bạn cắt file theo số lượng mình quy định. Sau đây là ví dụ mô tả cắt file a.xlsx thành 5 file

 public boolean splitFile(String source, String dest, int nuberFile) throws FileNotFoundException, IOException {
// dường dẫn cắt file
        File sourceFile = new File(source);
// xác đinh file nguồn tôn tai và nó là file
        if (sourceFile.exists() && sourceFile.isFile()) {
// lấy size gile nguồn và file cắt
            long sizeFile = sourceFile.length();
            long sizeSplitFile = (sizeFile / nuberFile);
// mở luồng đọc file và ghi file, nếu như file bằng với size file cắt được đã tính ở trên thì dừng, và cắt file tiếp theo
            InputStream is = new FileInputStream(sourceFile);
            byte[] arr = new byte[1024];
            for (int i = 1; i <= nuberFile; i++) {
                int j = 0;
                long a = 0;
                OutputStream os = new FileOutputStream(dest + sourceFile.getName() + “.” + i);
                System.out.println(“file cắt được “+sourceFile.getName()+“.”+i);
                while ((j = is.read(arr)) != 1) {
                    os.write(arr, 0, j);
                    a += j;
                    if (a >= sizeSplitFile) {
                        break;
                    }
                }
                os.flush();
                os.close();
            }
            is.close();
            return true;
        } else {
            System.out.println(“file không tồn tại”);
            return false;
        }
    }
public static void main(String[] args) throws IOException {
        SplitAndJoinFileSize sp = new SplitAndJoinFileSize();
        sp.splitFile(“E:/testfile/a.xlsx”, “E:/testfile/”,5);
    }
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s