Java中的文件权限详细介绍

Java提供了许多方法调用来检查和更改文件的权限, 例如可以将只读文件更改为具有写权限。当用户想要限制文件上允许的操作时, 需要更改文件许可权。例如, 由于用户不再希望编辑文件, 因此可以将文件许可权从写更改为只读。
检查当前文件权限
文件可以是以下允许的权限的任意组合:
可执行文件:
测试应用程序是否可以执行此抽象路径名表示的文件。
语法如下:

public boolean canExecute()Returns: true if and only if the abstract path nameexists and the application is allowed to execute the file

可读性:
测试应用程序是否可以读取此抽象路径名表示的文件。
语法如下:
public boolean canRead()Returns: true if and only if the file specified by thisabstract path name exists and can be read by the application; false otherwise

可写的:
测试应用程序是否可以修改此抽象路径名表示的文件。
语法如下:
public boolean canWrite()Returns: true if and only if the file system actually contains a file denoted by this abstract path name and the application is allowed to write to the file; false otherwise.

例如, 文件可以读取和写入, 但不能执行。这是一个Java程序, 用于获取与文件关联的当前权限。
// Java program to check the current file permissions. import java.io.*; public class Test { public static void main(String[] args) { // creating a file instance File file = new File( "C:\\Users\\Mayank\\Desktop\\1.txt" ); // check if the file exists boolean exists = file.exists(); if (exists == true ) { // printing the permissions associated with the file System.out.println( "Executable: " + file.canExecute()); System.out.println( "Readable: " + file.canRead()); System.out.println( "Writable: " + file.canWrite()); } else { System.out.println( "File not found." ); } } }

输出如下
Executable: trueReadable: trueWritable: true

更改文件权限
文件可以具有以下权限的任意组合:
  • 可执行的
  • 可读的
  • 可写的
以下是更改与文件关联的权限的方法:
setExecutable
一种方便的方法, 用于为此抽象路径名设置所有者的执行权限。
public boolean setExecutable(boolean executable)Description: Parameters: executable - If true, sets the access permission to allow execute operations; if false to disallow execute operationsReturns: true if and only if the operation succeeded.

如果用户没有更改此抽象路径名的访问权限的权限, 则该操作将失败。如果executable为false, 并且基础文件系统未实现执行权限, 则该操作将失败。
setReadable:
为该抽象路径名设置所有者的读取权限的便捷方法。
public boolean setReadable(boolean readable)Parameters: readable - If true, sets the access permission to allow read operations; if false to disallow read operationsReturns: true if and only if the operation succeeded.

如果用户没有更改此抽象路径名的访问权限的权限, 则该操作将失败。如果可读为false, 并且基础文件系统未实现读取权限, 则该操作将失败。
setWritable:
一种方便的方法, 用于为此抽象路径名设置所有者的写许可权。
public boolean setWritable(boolean writable)Parameters: writable - If true, sets the access permissionto allow write operations; if false to disallow write operationsReturns: true if and only if the operation succeeded.

如果用户没有更改此抽象路径名的访问权限的权限, 则该操作将失败。
// Java program to change the file permissions import java.io.*; public class Test { public static void main(String[] args) { // creating a new file instance File file = new File( "C:\\Users\\Mayank\\Desktop\\1.txt" ); // check if file exists boolean exists = file.exists(); if (exists == true ) { // changing the file permissions file.setExecutable( true ); file.setReadable( true ); file.setWritable( false ); System.out.println( "File permissions changed." ); // printing the permissions associated with the file currently System.out.println( "Executable: " + file.canExecute()); System.out.println( "Readable: " + file.canRead()); System.out.println( "Writable: " + file.canWrite()); } else { System.out.println( "File not found." ); } } }

输出如下
File permissions changed.Executable: trueReadable: trueWritable: false

参考文献:
  • 甲骨文
【Java中的文件权限详细介绍】如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

    推荐阅读