プログラムによるファイルのアクセス許可の変更
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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

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

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

WebStorm Mac版
便利なJavaScript開発ツール

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