![](/img/trans.png)
[英]is there a way to run the java programs that are developed in netbeans in eclipse?
[英]Java opens file successfully when run in Eclipse but not in Netbeans
我一直在Eclipse中进行一个项目,该项目需要我打开文件。 它按预期工作。 我将项目导入Netbeans只是为了将其签出,但是在运行时无法打开该文件。 我认为屏幕截图在这种情况下最有用:
知道是什么问题吗? 我什至在项目属性中明确指定了运行目录,但仍然无法正常运行。
附加信息:
另外,根据一些用户的建议,我在catch块中添加了:
System.err.println(new File(inFileName).getAbsolutePath();
它应该返回:
C:\\Users\\David\\Dev\\projects\\Autocuration\\pearltrees_export_02-07-2012.rdf
尝试手动构建URI之后,
System.out.println(new File(System.getProperty("user.dir")).toURI().resolve(inFileName));
我有以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in path at index 32: pearltrees_export_02-07-2012.rdf
考虑到没有第32个字符,我假设printStackTrace方法必须在打印之前修剪从异常消息获得的字符串。
无论如何,Netbeans似乎都使用''(空格)字符作为分隔符来解析Run参数。 但是,当将参数传递给main方法时,它也包含该空间。 换句话说,我正在尝试打开:
"pearltrees_export_02-07-2012.rdf "
而不是:
"pearltrees_export_02-07-2012.rdf"
简单地修剪参数即可解决问题:
inStream = new FileInputStream(new File(inFileName.trim()));
无论如何,我找不到任何文档说明这是预期的行为,因为它与java
二进制文件(以及我所知的任何其他编辑器)的行为肯定不同。 因此,我认为这是一个错误,并提交了错误报告:
http://netbeans.org/bugzilla/show_bug.cgi?id=215429
我猜我们将看到Netbeans同事怎么说。
是相同的操作系统吗? 相同的文件名? 根据给出的消息,文件名似乎有问题。
在catch块中,应添加以下内容:
System.err.println(new File(inFileName).getAbsolutePath());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.