BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。操作: Reader

BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。操作:Writer

 
 

URL
openStream
和 System.in
非字符输入流
InputStreamReader 参数为 InputStream 字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。

 
 

如果是字符流,可以通过 BufferedReader 读取

 
 

所以有:

URL url=new URL("http://www.baidu.com");

InputStreamReader isr=new InputStreamReader(url.openStream());

BufferedReader br= new
BufferedReader(isr);

String str;

sb=new StringBuffer();

while((str=br.readLine())!=null)

{

sb.append(str);

}

 
 

 
 

FileReader
继承 InputStreamReader 所以

FileReader fr= new FileReader(f);

BufferedReader br= new BufferedReader(fr); #这里不需要在包装成InputStreamReader

String t;

StringBuffer sb= new StringBuffer();

while ((t=br.readLine())!=null) {

    sb.append(t);

}

 
 

文件写入

File f= new File("./a.txt");

try{

FileWriter fw= new FileWriter(f);//继承
OutputStreamWriter
此类也提供写入方法

 
 

//FileOutputStream _fw= new FileOutputStream("./a.txt");

//OutputStreamWriter fw=new OutputStreamWriter(_fw);

 
 

BufferedWriter bw=new
BufferedWriter(fw);

bw.write(sb.toString());

bw.close();

fw.close();

}catch(IOException e){

}

 

//对象流

a a1 = new a("a");

ObjectOutputStream oos= new ObjectOutputStream(new FileOutputStream("a.txt"));

oos.writeObject(a1);

oos.close();

 

ObjectInputStream ois=new ObjectInputStream(new FileInputStream("a.txt"));

a b1 = (a)ois.readObject();

b1.run();

 

//二进制流

DataOutputStream dos= new DataOutputStream(new FileOutputStream("a.txt"));

dos.writeInt(1000);

dos.close();

 

DataInputStream dis= new DataInputStream(new FileInputStream("a.txt"));

int i=dis.readInt();

System.out.print(i+1000);

 

 

Java 流笔记的更多相关文章

  1. Java开发笔记(八十八)文件字节I/O流

    前面介绍了如何使用字符流读写文件,并指出字符流工具的处理局限,进而给出随机文件工具加以改进.随机文件工具除了支持访问文件内部的任意位置,更关键的一点是通过字节数组读写文件数据,采取字节方式比起字符方式 ...

  2. Java开发笔记(八十五)通过字符流读写文件

    前面介绍了文件的信息获取.管理操作,以及目录下的文件遍历,那么文件内部数据又是怎样读写的呢?这正是本文所要阐述的内容.File工具固然强大,但它并不能直接读写文件,而要借助于其它工具方能开展读写操作. ...

  3. Java开发笔记(七十二)Java8新增的流式处理

    通过前面几篇文章的学习,大家应能掌握几种容器类型的常见用法,对于简单的增删改和遍历操作,各容器实例都提供了相应的处理方法,对于实际开发中频繁使用的清单List,还能利用Arrays工具的asList方 ...

  4. Java开发笔记(九十一)IO流处理简单的数据压缩

    前面介绍的文件I/O,不管是写入文本还是写入对象,文件中的数据基本是原来的模样,用记事本之类的文本编辑软件都能浏览个大概.这么存储数据,要说方便确实方便,只是不够经济划算,原因有二:其一,写入的数据可 ...

  5. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  6. Java笔记:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

  7. Java开发笔记(八十九)缓存字节I/O流

    文件输出流FileOutputStream跟FileWriter同样有个毛病,每次调用write方法都会直接写到磁盘,使得频繁的写操作性能极其低下.正如FileWriter搭上了缓存兄弟Buffere ...

  8. Java 学习笔记 IO流与File操作

    可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...

  9. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

随机推荐

  1. [Unity3D]开发视图中的标记 - Gizmos

    这个类用来做自己的组件很不错,比如下面这个图的路径点,他其实是个Empty Object,可以自己加脚本让他带上标记.官方解释还可以用来做帮助提示的-.- 大游戏场景的制作时候,你可以用这个在地图上写 ...

  2. CentOS 7下编译FreeSWITCH 1.6

    安装背景: 已经最小化安装CentOS 7. 准备工作: 挂载安装光盘,配置yum本地化安装,配置方法可以参考http://www.cnblogs.com/yoyotl/p/4877439.html. ...

  3. mount命令

    注:硬件设备由linux系统自动识别,但必须成功挂载后才能使用 mount #查询已挂载 mount -a #依据配置文件/etc/fstab的内容自动挂载 挂载命令格式: mount  [-t 文件 ...

  4. jQuery.validate.js+API_cn

      名称 返回类型 描述 validate(options) 返回:Validator 验证所选的FORM valid() 返回:Boolean 检查是否验证通过 rules() 返回:Options ...

  5. javascript练习----复选框全选,全不选,反选

    第一种方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  6. jquery.validate插件在booststarp中的运用

    现在在网络上已经可以找到很多基于bootstarp的表单认证,但是验证的都不全面的,下载后,我们还要理解作者的思路然后进行修改添加,这种修改方式往往适合学习,时间很多的时候.但是我们很多时候是没有时间 ...

  7. 期权交易基本原理——买进看跌期权(Long Put),卖出看跌期权(Short Put)

    期权交易基本原理--买进看跌期权(Long Put),卖出看跌期权(Short Put) 来源:中电投先融期货-青岛 浏览:13508次2014-07-25 14:25:55 3 第三节 买进看跌期权 ...

  8. [转载] Linux下高并发socket最大连接数所受的各种限制

    原文: http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=207772333&idx=1&sn=cfc8aadb422f ...

  9. zoj2589Circles(平面图的欧拉定理)

    链接 连通图中: 设一个平面图形的顶点数为n,划分区域数为r,一笔画笔数为也就是边数m,则有: n+r-m=2 那么不算外面的那个大区域的话 就可以写为 n+r-m = 1 那么这个题就可以依次求出每 ...

  10. Html.Listbox的用法(实例)

    homecontroller控制器中的index动作代码如下:         public actionresult index()        { list<selectlistitem& ...