用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

readContent读取文件

2014-08-04 作者: jun举报

[java]代码库

package pm_cn.itcast.context;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
 *  读取 这个 4 个 txt 文件  
 * 
 */
public class ReadContentServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		// 读取 1.txt 文件 .  由于 1.txt 不会 被发布到 tomcat 的web apps 目录下, 所以 没有办法 读取 .
		
		// 读取2.txt 文件的内容 
		// 要通过 serlvetContext 来 读取 .  
		// 通过 web 应用的 绝对路径 , 来 获得 磁盘的  绝对路径 : d:\\aa\\bb\\2.txt. 
		
		// 获得 2.txt 在磁盘上的 绝对 路径 
		String realPath2 = getServletContext().getRealPath("/2.txt");
		
		//  D:\tomcat\apache-tomcat-7.0.40\webapps\day10\2.txt
		System.out.println(realPath2);
		readContent(realPath2);
		
		// 获得3.txt 在磁盘上的 绝对 路径 
		String realPath3 = getServletContext().getRealPath("/WEB-INF/3.txt");
		
		readContent(realPath3);
		
		// 读取 4.txt 文件的 内容 
		
		String realPath4 = getServletContext().getRealPath("/WEB-INF/classes/4.txt");
		
		readContent(realPath4);
		
		System.out.println("========================");
		// 通用 读取 资源文件的方法 . 
		//  一个 .class  是如何 被 执行的 ? 
		
		//   http://localhost:8080/day10/1.html   ---  URL ---->>> 
		//你拿到 了一个对象  代表 一个 URL 类的一个 实例, 那么你觉得 它应该有 什么样的方法 ? 
//		   URL url = ReadContentServlet.class.getClassLoader().getResource("4.txt");
		/*URL url = ReadContentServlet.class.getResource("4.txt");  // 这个 方法 也是 可以 的, 查看 源码 之后 发现 ,其内部 也是 通过 类加载器 去 读取的文件的 内容. 
		
		String file = url.getFile();
		System.out.println(file);
		readContent(file);*/
		
		System.out.println("---------------------------------------");
		
		String path4 = "src/4.txt";   // 这叫 相对 路径的写法,   注意 : 这样写是 相对路径,那么就要问自己, 这个相对 是  相对于 谁了 ? 
		// 这样写 就表示 , 相对 于 这个程序 启动 目录下有一个  src 的目录下,这src 的目录下存在这个 4.txt 文件 .
		readContent(path4);
	}
	
	public  static void readContent(String path){
		
		try {
			InputStream in = new FileInputStream(path);
			
			int  len = 0;
			byte buf[] = new byte[1024];
			while((len=in.read(buf))>0){
				System.out.println(new String(buf,0,len));
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}

}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...