0

私は次のことをしています:

OSX上のJavaでファイルの所有者の名前を取得するにはどうすればよいですか?

これが私のコードです:

private String getOwner(File f)
{
    Path p = Paths.get(f.getAbsolutePath());
    UserPrincipal owner = Files.getOwner(p);
    return owner.getName();
}

「シンボルが見つかりません」というエラーが表示されます。ここにあります:

...$ javac Delete.java
Delete.java:38: error: cannot find symbol
    UserPrincipal owner = Files.getOwner(p);
    ^
  symbol:   class UserPrincipal
  location: class Delete
1 error

エラーの意味はわかっており、いくつかの import ステートメントを試しました。

java.security.*; ( http://docs.oracle.com/javase/7/docs/api/ )

java.nio.file.attribute; ( http://docs.oracle.com/javase/7/docs/api/ )

これを尋ねなければならないのはばかげていると思いますが、何が間違っているのかわかりません!

4

1 に答える 1

1

次のインポートを使用して、Mac でコードをコンパイルして実行することができました。

import java.nio.file.*;
import java.io.File;
import java.io.IOException;
import java.nio.file.attribute.UserPrincipal;

および次の形式で:

private String getOwner(File f) throws IOException {
    Path p = Paths.get(f.getAbsolutePath());
    UserPrincipal owner = Files.getOwner(p);
    return owner.getName();
}

コードをコンパイルする場所で実際に Java 7 を使用しているかどうかを確認する必要があります。

于 2012-09-23T07:01:59.750 に答える