Viết chương trình tách 1 file nhị phân thành nhiều chunk:
chunkSize (int) và N (int) từ stdin, sau đó N giá trị 0..255 — đại diện cho N byte.big.bin bằng FileOutputStream.big.bin bằng FileInputStream, đọc theo buffer kích thước chunkSize (1 ≤ chunkSize ≤ 1024). Mỗi lần đọc được k > 0 byte, ghi k byte đó ra một file chunk_<index>.bin (index bắt đầu 1) bằng FileOutputStream mới. Đóng stream chunk sau mỗi lần ghi.chunk_1.bin, chunk_2.bin, … vào lại, cộng dồn tổng các byte (unsigned 0..255) và đếm tổng số byte.chunks: <số file chunk đã tạo>
bytes: <tổng số byte>
sum: <tổng giá trị byte unsigned>
3 dòng chunks: ..., bytes: ..., sum: ...
Ví dụ:
Đầu vào:
3
10
1 2 3 4 5 6 7 8 9 10
Đầu ra:
chunks: 4
bytes: 10
sum: 55
Giải thích:
Đầu vào:
5
5
10 20 30 40 50
Đầu ra:
chunks: 1
bytes: 5
sum: 150
Giải thích:
Đầu vào:
1
4
100 100 100 100
Đầu ra:
chunks: 4
bytes: 4
sum: 400
Giải thích:
Đầu vào:
10
0
Đầu ra:
chunks: 0
bytes: 0
sum: 0
Giải thích:
Đầu vào:
256
300
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
Đầu ra:
chunks: 2
bytes: 300
sum: 15000
Giải thích:
Đang tải editor...