Javaでファイルを取得するパスの書き方
アップロード時にリソースファイルを取得する必要がありますファイルと処理ファイルのパス。ただし、開発プロジェクトで取得したパスとjarパッケージ作成後のパスが一致していないため、プロジェクトで取得したファイルパスが希望通りのファイルパスにならない場合があります。 (推奨チュートリアル: java チュートリアル)
1. リソース パスを取得します
String filePath = this.getClass().getResource("").getPath(); System.out.println("filePath: " + filePath);
プロジェクト開発で表示されるパス:
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target/classes/com/selfimpr/fileupload/controller/
プロジェクトの jar パッケージ内のパス:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/selfimpr/fileupload/controller/
2. プロジェクト ファイルのコンパイル パスを取得します
String filePath = this.getClass().getResource("/").getPath(); System.out.println("filePath: " + filePath);
プロジェクト開発中に表示されるパス:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/classes/
プロジェクトの jar パッケージ内のパス:
filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/
3. プロジェクトのルート パスを取得します (1)
File files = new File(""); String filePath = files.getCanonicalPath(); System.out.println("filePath: " + filePath);
プロジェクト開発中に表示されるパス:
filePath: /home/idea/project/java_basic
プロジェクトの jar パッケージ内のパス:
filePath: /home/idea/project/java_basic/selfimpr-fileupload/target
4. プロジェクトのルート パスを取得します (2)
String filePath = System.getProperty("user.dir"); System.out.println("filePath: " + filePath);
プロジェクト開発で示されるパス:
filePath: /home/idea/project/java_basic
プロジェクト jar パッケージ内のパス:
filePath :/home/idea/project/java_basic/selfimpr-fileupload/target
5. 開発環境とjar環境の両方で、このメソッドで取得したプロジェクトパスを使用できます
/* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("/templates" + url); /* 此方法,传入参数为String,不能带/ */ resourceAsStream = this.getClass().getResourceAsStream("/templates" + url);
、コンパイル中であっても、jar パッケージの環境内であっても、リソース パス内のファイルを取得できます。
以上がJavaでファイルのパスを記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。