外部にあるファイルをJavaからjarで読み込む方法
Jarファイルの外側のファイルを閲覧するにはJavaで `java.io.File` または `java.nio.file.Path` を使います。 よくある方法を下記に示します。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String filePath = "path/to/external/file.txt"; // 外部文件的路径
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
// 处理文件内容
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
上の例では、まず外部ファイルのパスを指定してから、BufferedReaderを使ってファイルの中身をよみこんでいます。tryブロックの中でFileReaderを使ってファイルを開いて、一行ずつ読み込み、whileループの中で1行ごとに処理をしています。ファイルを読み終えたらBufferedReaderオブジェクトを閉じることでリソースを解放したことに注意してください。
外部ファイルをjava.nio.file.Pathで読むもう1つの方法は次のとおりです。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) {
String filePath = "path/to/external/file.txt"; // 外部文件的路径
try {
Path path = Paths.get(filePath);
List<String> lines = Files.readAllLines(path);
for (String line : lines) {
// 处理文件内容
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
ファイルのパスの取得にはPaths.get(filePath)メソッドを用い、ファイルの全行を読み込んでListに格納するにはFiles.readAllLines(path)メソッドを使用します。その後、Listの各行をforループで処理します。同様に、ファイルの読み込み後はファイルリソースをクローズする必要があります。