java从数据库中读取文本文件。jar文件
我有一个新手问题
我目前正在编写一个程序,使用file and Scanner类从文本文件中获取大量数据,如下所示:
File data = new File("champdata.txt");
Scanner read = new Scanner(data);
read.useDelimiter("%");
然后,扫描仪在IDE中正确地从文本文件中检索数据,但在我以用户身份运行程序时。jar文件,无法检索该文件
我已经读了一些关于在数据库中添加文本文件的内容。jar文件本身,并使用InputStream和BufferedReader类来读取文件,但我从未使用过这些类,也不了解它们的不同之处/如何使用它们来代替file和Scanner类
有人能帮我吗
# 1 楼答案
必须通过URL检索文件,因为它是一个嵌入式资源。有关更多详细信息,请参阅embedded resource Wiki
更新
否。如果它位于Jar中的
Resource
路径中,则字符串需要为:如果它位于
resources
路径中:字符串必须是精确的字母(复数&;)案例
# 2 楼答案
Scanner
类有一个构造函数^{您所要做的就是从Jar中读取文件,您可以这样做:
如果名为
champdata.txt
的文件位于jar文件的根目录(这只是一个zip文件,您可以使用任何解压来验证文件的位置)现在,如果希望在IDE中开发时具有相同的功能,请将该文件放在源目录中,以便在构建项目时将其放在
classes
文件夹中。通过这种方式,可以如上所述使用getResourceAsStream()
加载文件