問題文
ファイル パスを入力として受け取り、ファイル内の行数、単語数、文字数、ファイル所有者のユーザー ID、ファイル所有者のグループ ID、ファイルの最終変更時刻を出力するコマンド ライン ツールを作成します。UNIX
タイムスタンプ形式のファイル。単語は、次の文字列からスペースまたは改行で区切られた一連の文字として識別されることに注意してください。また、改行文字もファイル内の文字数にカウントされます。Javaで書かなければなりません。
私のコード:
try {
File f = new File("src/test.txt");
BufferedReader br = new BufferedReader(new FileReader(f));
String line = br.readLine();
int lines = 0, words = 0, chars = 0;
while (line != null) {
lines++;
for(int i = 0; i < line.length(); i++) {
if(line.charAt(i)==' ') {
words++;
}
}
chars += line.length();
line = br.readLine();
words++;
}
Path path = Paths.get("src/test.txt");
long d2 = Files.getLastModifiedTime(path, LinkOption.NOFOLLOW_LINKS).toMillis();
int uid = (Integer)Files.getAttribute(path, "unix:uid");
System.out.println(lines);
System.out.println(words);
System.out.println(chars);
System.out.println(uid);
System.out.println(uid);
System.out.println(d2);
}
catch(Exception e) {
e.printStackTrace();
}
私が直面している問題は、所有者のユーザー ID とグループ ID を見つける方法です。上記のコードを使用すると実行時エラーが発生します
java.lang.UnsupportedOperationException: View 'unix' not available
at sun.nio.fs.AbstractFileSystemProvider.readAttributes(Unknown Source)
at java.nio.file.Files.readAttributes(Unknown Source)
at java.nio.file.Files.getAttribute(Unknown Source)
at Demo.main(Demo.java:31)
また、コードを完成させた後、それを送信したいのですが、コードを送信するとコンパイル時エラーが発生します:
import java.nio.file cannot be resolved
同様に、同じパッケージに属する他のものについても同様に、コードが受け入れられるこれらのプロパティを取得する他の方法があることも知りたいですか?