Trong Java để xem kích thước của một file chúng ta có thể sử dụng Java IO, Java NIO hoặc các thư viện bên thứ ba cũng cung cấp chức năng này như Apache Common IO.
Java IO
Java IO có lẽ là cách thông thường mà chúng ta hay sử dụng nhất. Ra đời từ khá lâu, File class cung cấp một method cho phép xem kích thước của một file.
private long getFileSize(String filePath) { File imageFile = new File(filePath); long size = getFileSize(imageFile); }
Lưu ý rằng kích thước trả về được tính bằng đơn bị byte.
Java NIO
Java NIO ra đời sau được xem là sự thay thế cho Java IO với nhiều tính năng cho phép tối ưu hiệu suất hơn Java IO. Chúng ta có thể sử dụng FileChannel.size() để xem kích thước của một file.
private long getFileSize(String filePath) { Path imageFilePath = Paths.get(filePath); FileChannel imageFileChannel = FileChannel.open(imageFilePath); long imageFileSize = imageFileChannel.size(); }
Apache Commons IO
Ngoài các cách thuần thuý sử dụng các class được cung cấp sẵn bởi Java thì chúng ta cũng có thể sử dụng thư viện bên thứ 3 như là Apache commons IO với FileUtils.sizeOf() method để xem kích thước của một file.
private long getFileSize(String filePath) { Path imageFilePath = Paths.get(filePath); long imageFileSize = FileUtils.sizeOf(imageFile); }
Ngoài ra chúng ta có thể chuyển đổi từ byte sang một dạng dữ liệu khác giúp người dùng dễ đọc hiểu kích thước của file hơn.
private long getFileSize(String filePath) { Path imageFilePath = Paths.get(filePath); long imageFileSize = FileUtils.sizeOf(imageFile); System.out.println(FileUtils.byteCountToDisplaySize(imageFileSize)); // OUTPUT - 12 KB }
Nguồn