- 締切済み
stat関数をJavaで実現するには?
C言語をJavaで置き換える質問です。 C言語のプログラムで下記のようなファイルチェックを行っています。 struct stat st; stat(file, &st); if ((st.st_mode & 040000) == 0 || (st.st_mode & 020000) == 0) { エラー処理 } 上記の処理をJavaではどのように実現できるでしょうか? 環境は下記の通りです。 OS:Solaris 9 J2SE 5.0 ご教授願います。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- salsberry
- ベストアンサー率69% (495/711)
回答No.2
一番単純な解は、JNIを使って該当部分だけCで書くことでしょう。
- salsberry
- ベストアンサー率69% (495/711)
回答No.1
040000: S_IFDIR 020000: S_IFCHR でいいですか? java.io.FileクラスのisDirectoryを使えばS_IFDIRの判定はできる。S_IFCHRのほうは相当するメソッドがおそらく存在しない。
質問者
お礼
ご回答ありがとうございました。
質問者
補足
ご解答ありがとうございます。 私も"040000"はisDirectoryで可能というところまでは調査できました。 実際困っているのが"020000"です。 相当するメソッドがないのであれば、何か打開策はないでしょうか? ご存知であればご教授願います。
お礼
ありがとうございました。
補足
やはり単純にJavaでの置き換えは難しそうですね。 Cを使うことは難しいので、仕様の見直しを図ります。 ご回答ありがとうございました。