![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
お礼を見て気になったので追加します。
>Javaの基礎を勉強し、とりあえずLinuxでtreeを
>実装してみようとおもいましたが、検索してもわからず、質問させていただきました。
treeってtreeコマンドの事ですよね? (指定ディレクトリ以下のファイル/ディレクトリをツリー表示する)
それでしたら、やはりFileクラスを使用したほうがJavaの勉強になると思います。
File#listFiles()、File#isFile()、File#isDirectory()、File#getName()あたりのメソッドと
再起処理を組み合わせればできそうですね。chdir相当の処理は不要かと思います。
>JNI自体知りませんでした。
>とりあえず、JNIを調べてみようと思います。
JNIは必要になってから勉強しても遅くありません。
(というか、必要になるかどうかもあやしいです。)
>treeってtreeコマンドの事ですよね?
はい、その通りです。
本は見たものの、実際にプログラムを組んでみないと
実感できないとおもい、取り掛かりはじめました。
教えて頂いた、File関連のクラスを参考に、
実際に、ディレクトリを移動しないで、
再帰処理を行ってやってみようと思います。
ご丁寧に説明頂き、どうも有難うございました
No.1
- 回答日時:
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を呼ぶことになると思います。
ご回答ありがとうございます。
Javaの基礎を勉強し、とりあえずLinuxでtreeを
実装してみようとおもいましたが、検索してもわからず、質問させていただきました。
Javaはプラットフォーム固有の処理は極力避けるようにできているんですね。
JNI自体知りませんでした。
とりあえず、JNIを調べてみようと思います。
参考になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- その他(ソフトウェア) JavaとOracle Javaって何が違うんですか? 1 2022/05/05 05:46
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インターフェースとトレイトっ...
-
interface,extend,implementの...
-
【C#】抽象クラスでコンパイル...
-
(vba)他のアプリケーションの右...
-
VBがオブジェクト指向言語でな...
-
「継承されたメソッドの可視性...
-
c++でのヘッダーファイルの循環...
-
Javaでディレクトリを移動
-
ゲッターを使わないで変数にア...
-
C# 「データが失なわれる可能性...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
C# インスタンスの破棄
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
変数名の付け方
-
VB.NETでのnothing の意義について
-
パワーポイントのVBAでテキスト...
-
同一パッケージにあるクラスが...
-
配列のメソッド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
C# 「データが失なわれる可能性...
-
「ラッパークラス」の存在意義...
-
c++でのヘッダーファイルの循環...
-
(vba)他のアプリケーションの右...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
ゲッターを使わないで変数にア...
-
JavaでのAPIの覚え方ってみさな...
-
VB DLLプロジェクトについて
-
Javaで下線
-
【C#】クラスのコンストラクタ...
-
Javaのインスタンス化の構文の...
-
委譲って何ですか?
-
ASP.NETでの共通コードの書き方...
-
オーバーライドとラッパーの違い
-
抽象クラスをJUNITでテストする...
-
JTextFieldの入力制限
-
Commons-Discovery.jarとは?
-
setTextについて
おすすめ情報