用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...