MyEclipse------缓冲流的使用

可以把BufferedReader和BufferedWriter称为上层流,把它们指向的字符流(Reader,Writer)称为底层流。

Java采用缓存技术将上层流和底层流连接。

底层字符输入流先将数据读入缓存,BufferedReader再从缓存读取数据;BufferedWriter流将数据写入缓存,底层字符输出流会不断地将缓存中的数据写入到目的地。

当BufferedWriter流调用flush()刷新缓存或调用close()方法关闭时,即使缓存没有溢出,底层流也会立刻将缓存的内容写入目的地。

 

other.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<%@page import="java.io.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'other.jsp' starting page</title>
</head>

<body>
    <%
        File file=new File("C:\\Users\\X550V\\Desktop","aa.txt");
        File file1=new File("C:\\Users\\X550V\\Desktop","cc.txt");
        if(!file.exists()||!file1.exists()){
            file.createNewFile();
            file1.createNewFile();
            out.print("创建文件成功<br>");
            
            //往文件里写入一些数据先
            String str="Hello World:"+"\r\n"+"My World:";//\r\n表示换行
            char c[]=str.toCharArray();
            Writer o=new FileWriter(file);
            o.write(c);
            o.close();
        }
        try{
            Reader in=new FileReader(file);
            BufferedReader bufferRead=new BufferedReader(in);
            Writer ou=new FileWriter(file1);
            BufferedWriter bufferWritr=new BufferedWriter(ou);
        
            String str=null;
            while((str=bufferRead.readLine())!=null){//读取一行的数据不为空时
                //第一个参数就是要分隔的String,第二个是分隔字符集合,
                //第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”
                StringTokenizer fenxi=new StringTokenizer(str);
                int count=fenxi.countTokens();//返回nextToken方法被调用的次数
                str=str+"句子中单词个数:"+count;
                bufferWritr.write(str);
                bufferWritr.newLine();//换行
            }
            bufferWritr.close();
            ou.close();
        
            //将cc.txt的内容显示出来
            in=new FileReader(file1);
            bufferRead=new BufferedReader(in);
            String info=null;
            out.print(file1.getName()+"内容:<br>");
            while((info=bufferRead.readLine())!=null){
                out.print(info+"<br>");
            }
            bufferRead.close();
            in.close();
        }
        catch(IOException e){
            out.print(e);
        }    
     %>
</body>
</html>

 

posted @ 2016-03-27 21:17  玉天恒  阅读(322)  评论(0编辑  收藏  举报