Java: Các phương thức hữu dụng khác


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

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

» Tiếp: Kế thừa mã lệnh tập tin I/O
« Trước: Quan sát sự thay đổi thư mục
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!