検索
ホームページJava&#&チュートリアルJava でファイルのアクセス許可をプログラムで変更するにはどうすればよいですか?

How Can I Programmatically Modify File Permissions in Java?

プログラムによるファイルのアクセス許可の変更

Java では、ファイルを動的に作成してそのアクセス許可を変更することは、特に細かい処理を必要とする環境で頻繁に発生するシナリオです。 -きめ細かなアクセス制御。これを実現するには、由緒ある chmod コマンドが思い浮かびます。しかし、Java でこの操作を実行する慣用的な方法はありますか?

Java 5

私たちの知る限り、Java 5 にはファイルを直接操作するための組み込み機能がありません。権限。 Java 5 でのファイル表現には主に File オブジェクトが含まれており、setReadable() や setWritable() などのメソッドが提供されますが、これらはユーザーレベルのアクセスにのみ影響し、グループまたはワールドのアクセス許可には影響しません。

Java 6

Java 6 の導入により、File オブジェクトには setExecutable() や setReadable() などの追加メソッドが追加されました。ファイル権限の粒度。ただし、これらの方法は、包括的な POSIX スタイルの権限管理を提供するにはまだ不十分です。

Java 7 以降

Java 7 と強化された New IO (NIO.2) を導入します。 )フレームワーク。これにより、開発者は POSIX 権限を含むファイル属性を完全に制御できるようになります。 PosixFilePermissions クラスとその関連メソッドを使用すると、基礎となるオペレーティング システムに合わせた方法でファイルのアクセス許可を操作できます。

EnumSet.of() またはよりユーザーフレンドリーな PosixFilePermissions を使用して、アクセス許可のセットを作成できます。 .fromString() メソッド。 FileAttribute を受け入れる Java API と統合するには、PosixFilePermissions.asFileAttribute() メソッドを使用して権限セットをラップすることを検討してください。

Java 7 の例:

Set<posixfilepermission> ownerWritable = PosixFilePermissions.fromString("rw-r--r--");
FileAttribute> permissions = PosixFilePermissions.asFileAttribute(ownerWritable);
Files.createFile(path, permissions);</posixfilepermission>

以前の Javaバージョン

Java 7 より前のバージョンでは、オプションが制限されています。開発者の中には、JNI を使用したり、Runtime.exec() メソッドを介して外部コマンドを実行したりする人もいます。ただし、これらのアプローチでは、さらに複雑さとシステムへの依存関係が生じます。

結論として、Java 7 以降では、ファイルのアクセス許可をプログラムで管理するための堅牢で標準化された API が提供されますが、それ以前のバージョンでは、同様の機能を実現するには追加の努力が必要です。

以上がJava でファイルのアクセス許可をプログラムで変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。