Java: Các phương thức hữu dụng khác
Xác định kiểu MIME
Để xác định kiểu MIME của một file thì ta có thể sử dụng phương thức probeContentType(Path).
Ví dụ:
try {
String type = Files.probeContentType(filename);
if (type == null) {
System.err.format("'%s' has an" + " unknown filetype.%n", filename);
} else if (!type.equals("text/plain") {
System.err.format("'%s' is not" + " a plain text file.%n", filename);
continue;
}
} catch (IOException x) {
System.err.println(x);
}
Lưu ý là probeContentType
trả về null nếu không thể xác được được kiểu nội dung.
File hệ thống mặc định
Để truy xuất tới file hệ thống mặc định thì ta sử dụng phương thức getDefault
. Thông thường thì những phương thức của FileSystems
được hiểu là của FileSystem
và ta có thể sử dụng như sau:
PathMatcher matcher =
FileSystems.getDefault().getPathMatcher("glob:*.*");
Chuỗi phân cách đường dẫn
Chuỗi đường dẫn đối với các file hệ thống của POSIX là dấu xổ phải (/) và của Microsoft Windows là xổ trái (\)
. Những file hệ thống khác thì sử dụng dấu phân cách. Để truy xuất tới phần phân cách của Path
đối với file hệ thống mặc định thì ta có thể sử dụng một trong các cách được chỉ ra dưới đây:
String separator = File.separator;
Hoặc:
String separator = FileSystems.getDefault().getSeparator();
Phương thức getSeparator
cũng được sử dụng để truy xuất phần phân cách đường dẫn cho bất kỳ file hệ thống nào.
File store của file hệ thống
Mỗi file hệ thống có một hoặc nhiều file store để lưu trữ file và thư mục của nó. file store sẽ thể hiện thiết bị lưu trữ nền. Đối với hệ điều hành UNIX thì mỗi file hệ thống sẽ được thể hiện bằng một file store, còn đối với Microsoft Windows thì mỗi volume sẽ được thể hiện bằng một file store có dạng: C:
, D:
, ...
Để truy xuất một danh sách tất cả các file stores của file hệ thống thì ta có thể sử dụng phương thức getFileStores
. Phương thức này sẽ trả về một Iterable
cho phép ta sử dụng vòng lặp for cải tiến để đi qua tất cả các thư mục gốc.
for (FileStore store: FileSystems.getDefault().getFileStores()) {
...
}
Nếu bạn muốn truy xuất file store ở một file cụ thể đã được lưu trữ thì ta sử dụng phương thức getFileStore
của lớp Files
như sau:
Path file = ...;
FileStore store= Files.getFileStore(file);
Xem thêm ví dụ lớp DiskUsage.
Nguồn: http://docs.oracle.com/javase/tutorial/essential/io/misc.html