Mengubah Suai Kebenaran Fail Secara Pengaturcaraan
Di Java, mencipta fail secara dinamik dan mengubah kebenarannya ialah senario yang kerap ditemui, terutamanya dalam persekitaran yang memerlukan denda -kawalan akses berbutir. Untuk mencapai ini, arahan chmod yang dihormati datang ke fikiran. Walau bagaimanapun, adakah terdapat cara idiomatik untuk melaksanakan operasi ini dalam Java?
Java 5
Untuk pengetahuan kami, Java 5 tidak mempunyai sebarang fungsi terbina dalam untuk memanipulasi fail secara terus kebenaran. Perwakilan fail dalam Java 5 terutamanya melibatkan objek Fail, yang menawarkan kaedah seperti setReadable() dan setWritable(), tetapi ini hanya menjejaskan akses peringkat pengguna dan bukannya kebenaran kumpulan atau dunia.
Java 6
Dengan pengenalan Java 6, objek Fail memperoleh kaedah tambahan seperti setExecutable() dan setReadable(), yang menyediakan beberapa tahap butiran ke atas kebenaran fail. Walau bagaimanapun, kaedah ini masih gagal menyediakan pengurusan kebenaran gaya POSIX yang komprehensif.
Java 7 and Beyond
Enter Java 7 dan IO Baharu yang dipertingkatkan (NIO.2 ) rangka kerja. Ia memberi kuasa kepada pembangun dengan kawalan penuh ke atas atribut fail, termasuk kebenaran POSIX. Kelas PosixFilePermissions dan kaedah yang berkaitan membolehkan manipulasi kebenaran fail dengan cara yang sejajar dengan sistem pengendalian asas.
Seseorang boleh mencipta satu set kebenaran menggunakan EnumSet.of() atau PosixFilePermissions yang lebih mesra pengguna .fromString() kaedah. Untuk menyepadukan dengan API Java yang menerima FileAttribute, pertimbangkan untuk menggunakan kaedah PosixFilePermissions.asFileAttribute() untuk membalut set kebenaran.
Contoh dalam Java 7:
Set<PosixFilePermission> ownerWritable = PosixFilePermissions.fromString("rw-r--r--"); FileAttribute<?> permissions = PosixFilePermissions.asFileAttribute(ownerWritable); Files.createFile(path, permissions);
Jawa terdahulu Versi
Sebelum Java 7, pilihan adalah terhad. Sesetengah pembangun menggunakan JNI atau melaksanakan arahan luaran melalui kaedah Runtime.exec(). Walau bagaimanapun, pendekatan ini menimbulkan kerumitan tambahan dan kebergantungan sistem.
Kesimpulannya, Java 7 dan seterusnya menyediakan API yang mantap dan piawai untuk mengurus kebenaran fail secara pengaturcaraan, manakala versi terdahulu memerlukan beberapa usaha tambahan untuk mencapai fungsi yang serupa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Kebenaran Fail Secara Pemrograman di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!