有没有办法从与.jar文件位于同一文件夹的文件中读取?我正在尝试创建一个java程序,当我上交我的作业时必须从文件中读取.我转过来后,我不知道文件或程序将保存在哪里,所以我不认为我可以对保存文件的目录进行编码.这可能吗?问题是我必须将文件上传到CSX主机服务器,这是一个Linux服务器并从那里运行它.如果我没有在文件之前放置路径,它只搜索其当前文件夹位置?
use*_*421 22
您可以通过以下方式获取包含任何特定类的JAR文件的位置:
URL url = thisClass.getProtectionDomain().getCodeSource().getLocation();
Run Code Online (Sandbox Code Playgroud)
从那里可以很容易地将URL重新激活到所需的文件.
afs*_*tos 17
如注释中所述,仅当您从jar所在的目录运行命令时,此方法才有效.
(在桌面应用程序的上下文中)
要访问位于当前目录中的文件jar,您path的文件前面应该有一个点.例:
String path = "./properties.txt";
FileInputStream fis = new FileInputStream(path);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
// Read the file contents...
Run Code Online (Sandbox Code Playgroud)
在此示例中,有一个文本文件properties.txt在与该目录相同的目录中调用jar.
该文件将由包含在中的程序读取jar.
编辑:你说文件名不会改变,这个答案适用,因为你事先知道名字,当然,如果你喜欢硬编码它.
| 归档时间: |
|
| 查看次数: |
53694 次 |
| 最近记录: |