電子書籍の厳選無料作品が豊富!

Javaを最近勉強し始めた初心者です。
Javaで、ディレクトリを移動するような処理をしたいのですが、C言語のchdirのような最適なメゾッドはあるのでしょうか?

A 回答 (2件)

お礼を見て気になったので追加します。



>Javaの基礎を勉強し、とりあえずLinuxでtreeを
>実装してみようとおもいましたが、検索してもわからず、質問させていただきました。

treeってtreeコマンドの事ですよね? (指定ディレクトリ以下のファイル/ディレクトリをツリー表示する)
それでしたら、やはりFileクラスを使用したほうがJavaの勉強になると思います。
File#listFiles()、File#isFile()、File#isDirectory()、File#getName()あたりのメソッドと
再起処理を組み合わせればできそうですね。chdir相当の処理は不要かと思います。

>JNI自体知りませんでした。
>とりあえず、JNIを調べてみようと思います。

JNIは必要になってから勉強しても遅くありません。
(というか、必要になるかどうかもあやしいです。)
    • good
    • 0
この回答へのお礼

>treeってtreeコマンドの事ですよね?
はい、その通りです。
本は見たものの、実際にプログラムを組んでみないと
実感できないとおもい、取り掛かりはじめました。

教えて頂いた、File関連のクラスを参考に、
実際に、ディレクトリを移動しないで、
再帰処理を行ってやってみようと思います。

ご丁寧に説明頂き、どうも有難うございました

お礼日時:2005/11/01 21:10

Fileクラスで相対パスを使用した場合、パスの基点はシステムプロパティの「user.dir」の値になります。


システムプロパティは、System#setProperty()で設定可能です。


Fileクラス
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …

Systemクラス
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …


上記の方法では不十分で本当にディレクトリを移動したい場合、JNIでプラットフォーム固有のAPIを呼ぶことになると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Javaの基礎を勉強し、とりあえずLinuxでtreeを
実装してみようとおもいましたが、検索してもわからず、質問させていただきました。

Javaはプラットフォーム固有の処理は極力避けるようにできているんですね。

JNI自体知りませんでした。
とりあえず、JNIを調べてみようと思います。

参考になりました。
ありがとうございました。

お礼日時:2005/11/01 06:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!