gpt4 book ai didi

java - URL 和 readbuffer 不会导出

转载 作者:行者123 更新时间:2023-12-01 15:24:57 25 4
gpt4 key购买 nike

我有一个庞大的程序,我花了 100 多个小时来完成。尽管它在 Ecipse 中运行良好,但当我导出它时它不起作用。我用该代码制作了一个较小的程序来测试它。我已经搜索并更改了我的代码,但当我导出并运行我的 jar 文件时,我仍然无法让我的程序运行。它在 Eclipse 中运行得很好。我尝试过文件读取器、流、缓冲区、倒立,并更改为我在网上看到的有关读取 jar 文件中包含的文件的任何内容。我是编码新手,所以有些事情仍然让我感到困惑。我将 .java 更改为 .zip 并查看了各个部分,文件就在那里。

我读取的代码是

private void readFile(){
try {
System.out.println("starting array");
String[] myarray;
myarray = new String[5];
System.out.println("myarray"+myarray);
url = getClass().getResource("classifyinginfo.txt");
System.out.println("url is "+url);
readbuffer = new BufferedReader(new FileReader(url.getPath()));
line1 = readbuffer.readLine();
line1 = readbuffer.readLine();
line1 = readbuffer.readLine();
line1 = readbuffer.readLine();
{ String splitarray[] = line1.split(",");
firstentry = splitarray[0];
myarray[0]=splitarray[3];
myarray[1]=splitarray[4];
myarray[2]=splitarray[5];
myarray[3]=splitarray[6];
myarray[4]=splitarray[7];

//line2 and 3 readbuffer etc

Arrays.sort(myarray);
for(int i=0; i < myarray.length; i++){
System.out.println(myarray[i]);

textArea.append(myarray[i]+"\n");}
}


System.out.println(Arrays.toString(myarray));
// textArea.setText(Arrays.toString(myarray));


readbuffer.close(); } catch (IOException e) {
System.out.println("we have an error");}
System.out.println("Line: " + line1 );
}

请告诉我如何在 Eclipse 中和之外进行此操作。

最佳答案

你只需这样做:

url = getClass().getResource("classifyinginfo.txt"); 
readbuffer = new BufferedReader(new InputStreamReader(url.openStream()));
line1 = readbuffer.readLine();

FileReader 类可以读取磁盘上的单个文件,仅此而已。但一旦有了 URL,就不需要再使用它。这样修改后,无论文件是否在jar中,程序都可以运行。

实际上,您可以完全消除该 URL,只需执行以下操作:

readbuffer =
new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("classifyinginfo.txt")));
line1 = readbuffer.readLine();

关于java - URL 和 readbuffer 不会导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com