Làm cách nào để chia tập tin thành nhiều phần trong khi vẫn ghi vào đó?

How to split file into chunks while still writing into it?

 

private void getBytesFromFile(File file) throws IOException {
    FileInputStream is = new FileInputStream(file); //videorecorder stores video to file

    java.nio.channels.FileChannel fc = is.getChannel();
    java.nio.ByteBuffer bb = java.nio.ByteBuffer.allocate(10000);

    int chunkCount = 0;

    byte[] bytes;

    while(fc.read(bb) >= 0){
        bb.flip();
        //save the part of the file into a chunk
        bytes = bb.array();
        storeByteArrayToFile(bytes, mRecordingFile + "." + chunkCount);//mRecordingFile is the (String)path to file
        chunkCount++;
        bb.clear();
    }
}

private void storeByteArrayToFile(byte[] bytesToSave, String path) throws IOException {
    FileOutputStream fOut = new FileOutputStream(path);
    try {
        fOut.write(bytesToSave);
    }
    catch (Exception ex) {
        Log.e("ERROR", ex.getMessage());
    }
    finally {
        fOut.close();
    }
}

Việc chia tách tập tin thành nhiều phần trong khi vẫn ghi vào đó phụ thuộc vào loại tập tin và hệ điều hành bạn đang sử dụng. Dưới đây là một số cách phổ biến:

Đối với tập tin văn bản:

  • Hệ điều hành Windows:

    • Sử dụng công cụ split được tích hợp sẵn trong Windows PowerShell. Ví dụ: để chia tách tập tin “largefile.txt” thành các tách tin 1GB có tên “file.txt.001”, “file.txt.002”, v.v., hãy sử dụng lệnh sau:

      split -b 1073741824 largefile.txt file.txt.
      
    • Sử dụng trình soạn thảo văn bản như Notepad++ hoặc Sublime Text. Hầu hết các trình soạn thảo văn bản đều có tính năng chia tách và kết hợp tập tin.

  • Hệ điều hành Linux:

    • Sử dụng công cụ split tương tự như trong Windows.

    • Sử dụng lệnh dd kết hợp với tham số bs để chia tách tập tin theo kích thước khối. Ví dụ: để chia tách tập tin “largefile.txt” thành các tách tin 512MB có tên “file.txt.001”, “file.txt.002”, v.v., hãy sử dụng lệnh sau:

      dd if=largefile.txt of=file.txt.001 bs=524288 count=1024
      

Đối với tập tin định dạng khác:

  • Sử dụng công cụ chuyên dụng: Có nhiều công cụ miễn phí và trả phí có thể chia tách các loại tập tin khác nhau, chẳng hạn như hình ảnh, video, âm thanh, v.v. Một số công cụ phổ biến bao gồm HSplit, FFmpeg, và 7-Zip.
  • Sử dụng lệnh dòng lệnh: Một số định dạng tập tin có thể được chia tách bằng các lệnh dòng lệnh. Ví dụ, tập tin ZIP có thể được chia tách bằng công cụ zipsplit trong hệ điều hành Unix.

Lưu ý:

  • Việc chia tách tập tin có thể làm giảm hiệu suất truy cập, đặc biệt đối với các tập tin lớn.
  • Nên sao lưu tập tin gốc trước khi chia tách để tránh mất dữ liệu.
  • Khi ghi vào tập tin đã chia tách, hãy đảm bảo ghi vào tất cả các tách tin theo đúng thứ tự.
Rate this post
Logo TVDSEO

Facabook: https://facebook.com/tvdseo

Email: [email protected]

Call us E-mail

Dịch vụ

  • Dịch vụ viết bài
  • Dịch vụ backlink
  • Làm website
  • Quản lý website

Công cụ

  • Phần mềm SEO
  • Làm video
  • Dịch vụ Youtube
  • Dịch vụ Facebook

Kết nối

  • Liên hệ
  • Tư vấn
  • Hỗ trợ
  • Hợp tác

DMCA.com Protection Status

©
2025 UX Themes

Terms Privacy Cookies