我创建了一个简单的Java程序,在该程序中创建一个文本文件并读取写入其中的数据。问题是我不想硬编码文件的路径,因为在开发应用程序后,我为我的程序创建了一个安装程序包,允许用户在那里安装系统。现在问题是最终用户可以在任何地方安装文件(即在C,D或E驱动器中),并且在这种情况下,我得到FileNotFoundException异常。从Java程序中删除硬编码的文件路径
我的代码 - 这是我用来创建和写入文本文件到文本文件的代码。
FileWriter file = new FileWriter("E:\\TextFile.txt",true);
BufferedWriter writer = new BufferedWriter(file);
writer.write(input);
write.newLine();
write.close();
这是我用来从文本文件中读取文本的代码。
FileReader read = new FileReader("E:\\TextFile.txt");
BufferedReader data = new BufferedReader(read);
我有一个文件,我硬编码的文件的路径。
System.setProperty("webdriver.chrome.driver","D:\\New Folder\\chromedriver.exe");
正如你可以在我的代码看,我硬编码的路径( “E:\ TextFile.txt的”, “E:\ TextFile.txt的” 和 “d:\新建文件夹\ chromedriver.exe”) 。 有什么办法在Java中删除它们。 我经历了类似的问题,但无法弄清楚如何检测文件的位置。
Youjust编辑源代码文件 - 你是什么意思删除它们? – Mark 2014-10-17 16:20:17
您要求将它们从编译后的代码中移除?或者询问如何编辑源代码来纠正它?您无法从编译后的代码中真正删除引用...您需要在源代码中修复它并重新编译+打包您的应用程序 – user3062946 2014-10-17 16:20:52
@Mark例如,代码包含的路径为“E:\\ TextFile.txt” 。正如你所看到的,该文件在E驱动器中,但是当用户安装该文件时,他可以将其安装在D驱动器中。在这种情况下,程序将抛出FileNotFoundException异常。所以我想找到一种方式,我可以告诉应用程序用户已经在这个位置安装了应用程序,并且可以从那里读取它。 – 2014-10-17 16:23:55