Java 读取Networkshare上的文件

Java 读取Networkshare上的文件,java,file,networking,share,smb,Java,File,Networking,Share,Smb,我正在从网络共享运行我的应用程序。例如:“\server\startProgramm.bat” 我的startProgramm.bat中的代码: java -jar %~dp0\app.jar 我需要打开一些配置文件。如果我尝试用以下方法打开它们,则它在本地工作: new File("").getAbsolutePath() + "\\" + filename 但不是在我的网络共享上 配置文件位于目录的子目录中,我的jar和bat文件位于该子目录中 new File("\\\\servern

我正在从网络共享运行我的应用程序。例如:“\server\startProgramm.bat” 我的startProgramm.bat中的代码:

java -jar %~dp0\app.jar
我需要打开一些配置文件。如果我尝试用以下方法打开它们,则它在本地工作:

new File("").getAbsolutePath() + "\\" + filename
但不是在我的网络共享上

配置文件位于目录的子目录中,我的jar和bat文件位于该子目录中

new File("\\\\servername\\sharedDirectoryOnServer\\fileOnServer");

“好的,这是可行的,但是有类似CurrentWorkDir的东西吗?”

当前工作目录(默认情况下)是程序运行的目录。您可以在java中更改它(请参见此处: ),
最好的做法是连接服务器路径和文件名;但我认为(不确定)也可以从服务器启动程序(
java\\server\\path\\myprog
在该目录中有一个myprog.class),并将工作目录默认为该路径。

新文件(\\\\\servername\\shareddirectionserver\\fileOnServer)怎么样??好的,这很有效,但是有类似CurrentWorkDir的东西吗?我想您会遇到FileNotFoundException?也许问题与目录名有关?尝试打印程序从该网络共享运行时尝试读取的路径。当前工作目录是System.getProperty(“user.dir”)。好的,我将我的注释复制到了一个答案中,以供将来参考,并添加了我在工作目录中找到的内容