Java 当jar文件在单独的目录中运行时,TableView不显示字符串
我有从netbeans编译和测试的基于JAVAFX的代码 目录树如下所示:Java 当jar文件在单独的目录中运行时,TableView不显示字符串,java,netbeans,javafx,jar,tableview,Java,Netbeans,Javafx,Jar,Tableview,我有从netbeans编译和测试的基于JAVAFX的代码 目录树如下所示: myCodeDir/ src/ myCode/ *.java *.fxml dist/ myCode.jar myCode.jnlp 如果我将jar文件复制到另一个目录并从该目录中运行jar文件,我会看到TableView没有显示任何数据,而size命令准确地显示数据总数,这意味着TableView有数据
myCodeDir/
src/
myCode/
*.java
*.fxml
dist/
myCode.jar
myCode.jnlp
如果我将jar文件复制到另一个目录并从该目录中运行jar文件,我会看到TableView没有显示任何数据,而size命令准确地显示数据总数,这意味着TableView有数据
但是,如果我从myCodeDir本身运行jar代码,一切都正常
我需要将tje jar文件分发到其他机器上,这样就需要使代码能够从任何目录运行。如何才能做到这一点?如果从命令行运行jar文件,您是否看到任何异常?似乎您使用的是相对文件名。将数据放在.jar文件中,并使用访问它。@james\u D,我想从命令行运行。我看不出有任何例外。甚至我也检查了组合框的条目总数,这是确定的。如果我从netbeans项目区域运行,那么一切都很好。@VGR,我尝试过,但遇到异常。对于
dictName=rootDir+“/”+DICTPathDir+“/”+fName;indicatstr=getClass().getResourceAsStream(dictName);indicatstrreader=新的InputStreamReader(indicatstr);尝试{br=new BufferedReader(indicatestrreader);字符串行;while((line=br.readLine())!=null){…
我得到异常。@VGR,实际上InputStream indicatstr=getClass().getResourceAsStream(dictName);
给出了indicatestr=null
,它给出了异常。但是br=new BufferedReader(dictName)
正确读取文件。如果从命令行运行jar文件,是否看到任何异常?似乎您使用的是相对文件名。请将数据放在.jar文件中,然后使用访问。@james_D,我想从命令行运行。我没有看到任何异常。甚至我检查了组合框的总条目数ch还可以。如果我从netbeans项目区域运行,那么一切都很好。@VGR,我尝试过但得到了异常。对于dictName=rootDir+“/”+DICTPathDir+“/”+fName;indicatstr=getClass().getResourceAsStream(dictName);indicatstrReader=new InputStreamReader(indicatstr);尝试{br=new BufferedReader(indicatstrReader);字符串行;while((line=br.readLine())!=null){…
我得到异常。@VGR,实际上是InputStream indicatstr=getClass().getResourceAsStream(dictName);
给出了indicatstr=null
这会给出异常。但是br=new BufferedReader(dictName);
正确读取文件。