Servlet读取本地文件的知识。在这里做一下记录!
package fifthday;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ContextDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
test1();
test2();
test3();
test4();
}
//利用servletcontext 读取大容量文件
private void test5() throws FileNotFoundException{
//假设 fifthday 下有一部影片,先获得真实路径
String path = this.getServletContext().getRealPath("/WEB-INF/classes/fifthday/");
//然后用传统的方式读取文件
FileInputStream in = new FileInputStream(path);
//接着就是一点一点的读取,一点一点地处理
}
/*原理:
* 发布到web工程中的类之所以能够运行,是有一个类加载器将那些
* class类加载到内存中,所以也能够加载别的文件
*
*注意:用类加载器加载的文件不能太大,因为他会一直驻留在内存中,直到工程结束。
* 所以用类加载器加载时一定要小心 。!!!!!
*
* */
//利用类加载器来读取类根目录下的文件
private void test4() throws IOException {
//先获得类的加载器ContextDemo1.class.getClassLoader()然后再调用类加载器的getResourceAsStream方法过的数据流
InputStream in = ContextDemo1.class.getClassLoader().getResourceAsStream("/fifthday/db.properties");
Properties pro = new Properties();
pro.load(in);
//下面是测试
String url = pro.getProperty("url");
String name = pro.getProperty("name");
String password = pro.getProperty("password");
System.out.println(url);
System.out.println(name);
System.out.println(password);
}
//在web工程中通过context读取prop文件中的资源数据
private void test3() throws IOException {
//凡是在应用中读取properties文件时 这是最佳模式
ServletContext context =this.getServletContext();
InputStream in = context.getResourceAsStream("/prop/db.properties");
Properties pro = new Properties();
pro.load(in);
//下面是测试
String url = pro.getProperty("url");
String name = pro.getProperty("name");
String password = pro.getProperty("password");
System.out.println(url);
System.out.println(name);
System.out.println(password);
}
//在web工程中通过context读取工程中的资源数据
private void test2() throws IOException {
//凡是在应用中读取properties文件时 这就是最佳模式
ServletContext context =this.getServletContext();
InputStream in = context.getResourceAsStream("/WEB-INF/classes/fifthday/db.properties");
Properties pro = new Properties();
pro.load(in);
//下面是测试
String url = pro.getProperty("url");
String name = pro.getProperty("name");
String password = pro.getProperty("password");
System.out.println(url);
System.out.println(name);
System.out.println(password);
}
//读取web应用中的文件,不建议用传统的文件读取方式
private void test1() throws FileNotFoundException, IOException {
//因为相对的路径是相对于tomcat bin文件的所以将这个文件拷到bin中就行了
//FileInputStream input = new FileInputStream("WEB-INF/classes/fifthday/db.properties");
//在实际开发中严禁用绝对路径
//FileInputStream input = new FileInputStream("D://tomcat6/webapps/study/WEB-INF/classes/fifthday/db.properties");
//tomcat 的bin文件中有db.properties这个文件
FileInputStream input = new FileInputStream("db.properties");
int data = input.read();
System.out.println(data);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
分享到:
相关推荐
jsp+java类+servlet实现文件读取、写入的功能.pdf
jsp+java类+servlet实现文件读取、写入的功能.rar
Servlet读取XML文件实现JSP分页(新上传的含有源代码)Servlet读取XML文件实现JSP分页(新上传的含有源代码)
Servlet读取XML文件实现JSP分页,Servlet读取XML文件实现JSP分页
jsp+servlet实现文件上传和下载,需要使用commons-fileupload,commons-io.jar java库文件
Servlet读取XML文件实现JSP简单分页 博文链接:https://thtwin.iteye.com/blog/430521
通过JavaServlet读取HttpRequest中的XML文件内容
Servlet + Tomcat 中文乱码的解决方法,浏览器把Unicode字符转换为GBK字符,这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了
servlet读取初始化参数和属性文件的数据
ServletContext读取web应用中的资源文件
这里面有详细的处理maven项目中resources目录下的资源文件,方便快捷的得到或设置资源文件中的内容,本人亲测,里面还有示例
Servlet中操作文件详解及实例 因为Servlet本来就是一个.Java文件,因此servlet中操作文件和普通java文件操作文件是一样的。 读取文件主要代码: FileReader f=new FileReader(f:\\lissdy.txt); BufferedReader bw...
然后将文本内容读取出来存入到MySQL数据库中,当需要下载是,系统会从数据库中读取字符串内容然后生成下载到本地,实现的功能有:登陆,注册,管理员管理用户界面(冻结,解冻,注销),管理员管理文件界面(删除,...
cel文件进行文件读取、创建、更新等操作。使用该API非Win. (tows操作系统也可以通过纯Java应用来处理Excel数据表。因 为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的...
这是一个完整的项目,运行无误后才上传的.只需要把项目导入到myeclipse中,重构一下就可以运行。
在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain): 这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先...
NULL 博文链接:https://nannan408.iteye.com/blog/2256177
xml2是基于C的读取xml文件的开发库,程序中简单的实现了xml2读取web.xml(任意servlet的web.xml)的实现
Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化,在这一过程中,你可以读取一些固定存储的数据、初始化JDBC的连接以及建立与其他资源的连接。 在初始化过程中,javax.servlet.Servlet接口的init()...