我正在学习如何使用 Java.io 来操作和读取文件,但我需要完成程序并准备好使用 .jar 打开
代码工作正常,在 IDE 中运行,但是当我压缩它并打开 .jar 时,出现 catch(FileNotFoundException e) 错误
package com.example;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
@SuppressWarnings("unused")
public class EjemploFichero01 {
public static void main(String[] args) {
try{
BufferedReader bf = new BufferedReader(new FileReader("malaga1.csv"));
String linea = "";
while ((linea = bf.readLine()) != null) {
System.out.println(linea);
}
bf.close();
}catch (FileNotFoundException e){
System.out.println("No se encuentra el fichero malaga.txt");
}catch (IOException e){
System.out.println("No se puede leer el fichero malaga.txt");
}
}
}
尝试运行 .jar 文件,期望出现文件“malaga1.csv”的内容,但我遇到了 (FileNotFoundException e) 错误
我还运行 -jar
java -jar --enable-preview demo.jar
问题似乎与执行 JAR 文件时用于访问“malaga1.csv”的文件路径有关。
String jarDir = new File(EjemploFichero01.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getParent();
File file = new File(jarDir, "malaga1.csv");
BufferedReader bf = new BufferedReader(new FileReader(file));
也许这会有所帮助