🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

4115閲覧

【追記】相対パスでファイルを読み込む方法。クラスパスで指定した先のファイルを読み込む方法。

makino

総合スコア32

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2021/01/26 09:24

編集2021/01/26 10:04

相対パスでファイルを読み込みたいのですが、
現在のプログラムの実行場所がどこかわかりません。
調べる方法はないのでしょうか?

"../test.csv"と書いたのですが、どこの配下のtest.csvが実行されるか教えてください。
また、その確認方法も知りたいです…

java

1 public static void load() throws IOException { 2 String FILE_PATH = "../test.csv"; 3 CSVFileReader reader = new CSVFileReader(FILE_PATH);

追記。
現在のカレントディレクトリがわかりました。
しかし、別の「クラスパスで指定したフォルダ」配下のファイルを読み込みたいです。
そのような方法はないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/01/26 09:41

初心者アイコンありますし、「初心者」とわざわざ書かなくてよいかとー。
makino

2021/01/26 09:44

修正しました
m.ts10806

2021/01/26 10:08

編集したら編集履歴に残るので「追記」とかタイトルに書かなくてもいいですよ。 初めて見る人にはなんのことかわかりませんし(要件と違うし) どこをどう編集したかは編集履歴から見れます。
guest

回答2

0

"../test.csv"と書いたのですが、どこの配下のtest.csvが実行されるか教えてください。

考え方が逆です。
「置いた場所のファイルを参照する」ように組んでください。
「どこに置いたか」で「そのパスをどうやって参照するか」

過去質問も参考にすると良いです。
【java】ソースフォルダ内にあるcsvファイルの取り扱いについて

「どこに置いたか」「どういうJavaアプリケーションか」によっても参照の仕方は違うので、
それによって参照の仕方を調べてください。

投稿2021/01/26 09:44

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makino

2021/01/26 09:55

回答ありがとうございます。 置いた場所のファイルを参照するために、「そのパスをどうやって参照するか」 を教えて頂けませんでしょうか? また、過去質問のコードを書きましたが 現在のクラス.class().getResourceAsStream("test.csv"); と書くと、コンパイルエラーが発生し、classではなくIdentifierだと言われます。
m.ts10806

2021/01/26 09:57

回答に書いてます。 >「どこに置いたか」「どういうJavaアプリケーションか」によっても参照の仕方は違うので、 それによって参照の仕方を調べてください。 「どこに置いたか」「どういうJavaアプリケーションか」を何も提示せずに他者ができるアドバイスはないです。提示した質問もあくまで一例。 自身のアプリケーション構成と合わなければ動かないのは当然です。 あくまで「参考」。「コピペで動くよ」と提示したつもりはないです。
guest

0

そのコード上で、カレントフォルダを表示するようなコードを書いて実行してみましょう
そのフォルダを起点として相対アドレスを記述すればいいです


「クラスパス 取得」でぐぐってみればいいかと

投稿2021/01/26 09:32

編集2021/01/26 10:18
y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makino

2021/01/26 09:42

ありがとうございます、現在のパスがわかりました! String path = System.getProperty("user.dir"); System.out.println(path); ただカレントディレクトリは、エクリプスのワークスペース配下を見てまして、 そこではなく、別の実際にjavaファイルが置いてある場所に設定したいのですが、 どうしたらいいでしょうか?
y_waiwai

2021/01/26 09:44

そういう状況の場合のカレントディレクトリを見てみればどうでしょう カレントディレクトリも自由に設定するってこともできますんで、あなたの希望のディレクトリをとってきてそこに設定してやればいいかと
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問