Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat7可以';找不到我的txt文件_Java_File_Servlets_Tomcat7 - Fatal编程技术网

Java Tomcat7可以';找不到我的txt文件

Java Tomcat7可以';找不到我的txt文件,java,file,servlets,tomcat7,Java,File,Servlets,Tomcat7,我有一个JavaWeb应用程序项目,它由一个Javaservlet和一个经典的java文件组成。servlet调用java文件中实现的方法 其中一种方法是从文件中读取并将该文件的内容放入数组。但是,在尝试BufferedReader、InputStream和classloader.getResource()之后,我似乎仍然无法让它找到txt文件 在Tomcat目录中,java文件和txt文件位于/WEB-INF/classes中。所以我不知道为什么它找不到文件 有谁能告诉我读取该文件的最佳方法吗

我有一个JavaWeb应用程序项目,它由一个Javaservlet和一个经典的java文件组成。servlet调用java文件中实现的方法

其中一种方法是从文件中读取并将该文件的内容放入数组。但是,在尝试BufferedReader、InputStream和classloader.getResource()之后,我似乎仍然无法让它找到txt文件

在Tomcat目录中,java文件和txt文件位于/WEB-INF/classes中。所以我不知道为什么它找不到文件

有谁能告诉我读取该文件的最佳方法吗

提前谢谢

编辑:这是我最近一次尝试从中读取,导致FileNotFound异常

ClassLoader cl = testClass.class.getClassLoader();
File file = new File(cl.getResource("text.txt").getFile());

Scanner sc = new Scanner(file); 
您可以尝试以下方法:

File file = new File(ClassLoader.getSystemResource("/path/to/file.txt").getFile());
无引导/

ClassLoader cl=testClass.class.getClassLoader();
File File=新文件(cl.getResource(“text.txt”).getFile())

text.txt应该位于WEB-INF/classes/ppp/text.txt中,其中ppp是testClass的包路径

领先/

ClassLoader cl=testClass.class.getClassLoader();
File File=新文件(cl.getResource(“/text.txt”).getFile()


text.txt在类路径(tomcat/lib、WEB-INF/lib、WEB-INF/classes等)上搜索。

请提供获取文件的代码。可能重复的和@Arpit尝试了所有这些解决方案,但他们没有帮助我。谢谢,谢谢!只是尝试了一下,现在没有filenotfound错误,而是一个nullpointerexception错误。你知道为什么吗?哦,谢谢你,我已经尝试了你答案的第一部分,在正确的位置用文本,txt,但它仍然很难找到文件。但我刚刚意识到我没有一个命名包,它只是(eclipse中的默认包)。所以我想知道这会引起问题吗?我还将尝试使用前导/。一个问题:当你说它是在类路径上搜索的。这是否意味着它没有特定的位置,它可能在您列出的目录中的任何一个(即tomcat/lib、WEB-INF/lib、WEB-INF/classes等)?我不确定tomcat类路径的所有目录,但我知道我列出的目录都是。尝试创建日志文件.getCanonicalPath()以查看所使用的确切路径。我在WEB-INF/classes目录中使用文本文件尝试了引导/解决方案,它对我有效!非常感谢你的帮助!!!!