今天我第一次遇到启动jar文件的问题。现在我知道(在解压缩jar之后)当我在Eclipse中导出和创建程序的jar包时,文本文件没有出现。
为什么文本文件不与类文件一起出现?我应该把它放在哪个项目中?
我将文本文件放在项目文件夹的根目录
慷慨解囊
编辑:可能我可以在cmd中手动完成,但我不知道应该在加载文本文件的程序代码中添加什么。例如,我应该是一个类加载器吗? 我知道如何在加载jpg org gif等图像时这样做。但是如果它是文本文件呢?这是负责加载文本文件的方法
private void read(String text_file, int len, int index) {
String[] stringBuffer = new String[len];
File file = new File(text_file);
FileReader fileReader;
BufferedReader bufferedReader ;
try {
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
String line;
int i = 0;
while ( (line = bufferedReader.readLine()) != null) {
stringBuffer[i] = line;
i++;
}
bufferedReader.close();
} catch (FileNotFoundException fnde) {
fnde.printStackTrace();
JOptionPane.showMessageDialog(null, "files could not be found", "Help", 0);
} catch (Exception e) {
e.printStackTrace();
}
splitString(stringBuffer, index);
}
答案 0 :(得分:1)
我从你的代码中做了一个例子。文件text.txt位于META-INF下的源文件夹中。
package test;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;
public class ReadFile {
public static void main(String[] args) {
ReadFile o = new ReadFile();
o.read("test.txt", 2, 0);
}
private void read(String text_file, int len, int index) {
BufferedReader bufferedReader ;
String[] stringBuffer = new String[len];
try {
bufferedReader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/META-INF/".concat(text_file))));
String line;
int i = 0;
while ( (line = bufferedReader.readLine()) != null) {
stringBuffer[i] = line;
i++;
}
bufferedReader.close();
} catch (FileNotFoundException fnde) {
fnde.printStackTrace();
JOptionPane.showMessageDialog(null, "files could not be found", "Help", 0);
} catch (Exception e) {
e.printStackTrace();
}
splitString(stringBuffer, index);
}
private void splitString(String[] stringBuffer, int index) {
for(String line: stringBuffer) {
System.out.println(line);
}
}
}
希望这有帮助。
答案 1 :(得分:0)
仅在 - >下列出的文件夹/广告属性 - > Java构建路径 - >订单和出口将导出到JAR。将文件放在
的构建路径上的文件夹中项目的基础文件夹不是,应该/不能是导出的一部分。