javaweb中关于读取资源文件三种方式


1.      假设要读取的1.txt文件在web工程的src目录下:

我们可以采取class对象.getResource(filename).getFile()的方式得到1.txt的磁盘绝对路径

publicvoid doGet(HttpServletRequest request, HttpServletResponseresponse)

        throws ServletException, IOException {

      String filename = "/1.txt";

filename=ReadFileServlet.class.getResource(filename).getFile();

      System.out.println(filename);

   BufferedReaderbr = new BufferedReader(new InputStreamReader(

           new FileInputStream(new File(filename))));

      String content = br.readLine();

      System.out.println(content);

   }

 


结果:

/E:/资料/javaweb/apache-tomcat-6.0.14/webapps/MyJsp01/WEB-INF/classes/1.txt

第二种方式 通过

String filename2="/WEB-INF/classes/1.txt";   filename2=this.getServletContext().getRealPath(filename2);

      System.out.println(filename2);

结果:

E:\资料\javaweb\apache-tomcat-6.0.14\webapps\MyJsp01\WEB-INF\classes\1.txt


第三种方式:

如果文件在webRoot根目录下可以通过getRealPath(filename)得到绝对磁盘路径

	String filename3="/2.txt";
		filename3=this.getServletContext().getRealPath(filename3);
		System.out.println(filename3);
		readFile(filename3);

结果:

E:\资料\javaweb\apache-tomcat-6.0.14\webapps\MyJsp01\2.txt


结论: 在web工程下利用servlet读取文件 要使用绝对磁盘路径


你可能感兴趣的:(javaweb)