0

このスニペットを実行すると:

 FileSystem fs = FileSystems.getDefault();
for (String s : fs.supportedFileAttributeViews())
{
System.out.println(s);
}

次の結果が得られます:「基本所有者ユーザーunix dos posix」

次に、実際に UnixFileAttributeView() を使用しようとすると、存在しないように見えます。import でパッケージ全体をインポートしましjava.nio.file.attribute.*;たが、直接インポートしようとしてもjava.nio.file.attributes.UnixFileAttributeView;存在しないようです。

他のすべての attributeViews をインポートすることはできますが、fs.supportedFileAttributeViews().

なぜそれが起こるのか知っていますか?さらに、どうすれば修正できますか?

前もって感謝します。

4

3 に答える 3

1

輸入はできないようです。

グーグルで検索すると、OpenJDK 実装のソースを見つけることができます。

データにアクセスする最も簡単な方法は次のとおりです。

Files.getAttribute(file.toPath, "unix:uid")

少なくとも次のオプションがあります。

dev
ino
mode
uid
gid
size
atime
mtime
ctime

もちろん、Files.getFileStore(file.toPath).supportsFileAttributeView("unix")最初に確認する必要があります。

于 2014-03-24T14:42:07.973 に答える
1

ドキュメントから

PosixFileAttributeView – 基本的な属性ビューを、UNIX などの POSIX ファミリーの標準をサポートするファイル システムでサポートされる属性で拡張します。これらの属性には、ファイル所有者、グループ所有者、および関連する 9 つのアクセス許可が含まれます。

于 2013-05-05T08:40:28.147 に答える
0

Java 1.7 にはバンドルされていませんが、以前のコメントに示されているように属性を読み取ることができます。

追加の注意として、backport_project_of_JSR203 を参照すると、その実装を見つけることができます。

https://code.google.com/p/jsr203-backport/source/browse/trunk/src/jsr203/sun/nio/fs/UnixFileAttributeView.java

于 2014-03-30T10:15:51.853 に答える