InputStream

​ IputStream 字节输入流-抽象父类-不可实例化
​ FileIputStream 操作文件的字节输入流-普通子类
​ FileIputStream(File file)
​ FileIputStream(String pathName)
​ BufferedInputStream 子类
​ BufferedInputStream 高效字节输入流-普通子类
​ BufferedInputStream(InputStream in)
​ 由于抽向父类不可实例化,所以传入的参数是FIS(FileInputStream)
​ BIS(BufferedInputStream)缩写同

​ read()每次调用都会读取一个字节,如果读到了末尾,返回值是-1
TIPS:读取时需要设置变量保存读取的结果,否则数据读取不完全
​ 流使用完毕后必须关闭【.close】,而且必须写在finally{}中,确保关流操作时一定会执行的
​ finally{}是try-catch结构的第三个部分,这个部分不论是否捕获到异常,一定会执行

IputStream测试
package cn.tedu.file;import java.io.*;//本类用于练习字节输入流
public class TestIn {public static void main(String[] args) {
//        method();method2();}private static void method2() {InputStream in =null;try {
//            InputStream in = new BufferedInputStream(
//                    new FileInputStream(new File("D:\\read\\1.txt")));in = new BufferedInputStream(new FileInputStream("D:\\read\\1.txt"));int b;while ((b=in.read())!=-1){System.out.println(b);}} catch (Exception e) {//关流操作卸载finally中e.printStackTrace();}finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}}private static void method() {//创建一个在本方法中生效的变量,注意手动初始化InputStream in = null;
//        InputStream in = new InputStream();try {
//            InputStream in = new FileInputStream(new File("D:\\read\\1.txt"));in = new FileInputStream("D:\\read\\1.txt");/*read()每次调用都会读取一个字节,如果读到了数据的末尾,返回-1*/
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());
//            System.out.println(in.read());int b;while ((b=in.read())!=-1){System.out.println(b);}} catch (Exception e) {e.printStackTrace();/*try-catch结构中的第三个部分:finally* 这部分不论是否捕获到异常,是一定会被执行到的代码,常用于关流*/}finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}}
}
字符输入流

抽象父类:
Reader字符输入流-抽象父类-不可实例化
FileReader-文件字符输入流-普通子类
FileReader(File file)/FileReader(String pathName)
BufferedReader-高效字符输入流(缓冲字符输入流)-普通子类
BufferedReader(Reader in) 一般使用时传入的是Reader的子类

Reader测试
package cn.tedu.file;import com.sun.org.apache.xerces.internal.dom.DeferredEntityReferenceImpl;import java.io.*;//本类用于测试字符流的读取
public class TestIn2 {public static void main(String[] args) {
//        method();method2();}private static void method() {Reader in = null;
//        Reader in =new Reader();try {
//                in = new FileReader(new File("D:\\read\\1.txt"));in = new FileReader("D:\\read\\1.txt");
//                System.out.println(in.read());int b;while((b=in.read())!=-1){System.out.println(b);}System.out.println();} catch (Exception e) {e.printStackTrace();}finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}}private static void method2() {Reader in = null;try{in = new BufferedReader(new FileReader("D:\\read\\1.txt"));int c ;while((c=in.read())!=-1){System.out.println(c);}}catch(Exception e){e.printStackTrace();}finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}}
}
OutputStream

​ OutputStream 字节输出流-抽象父类-不可实例化
​ FileOutputStream 操作文件的字节输出流-普通子类
​ FileOutputStream(File file)
​ FileOutputStream(String pathName)
​ BufferedOutputStream 子类
​ BufferedOutputStream 高效字节输出流-普通子类
​ BufferedOutputStream(InputStream out)
​ 由于抽象父类不可实例化,所以写出的参数是FOS(FileOutputStream)
​ BOS(BufferedOutputStream)
TIPS:append表示输出内容是否追加,默认为false不追加,改为true则追加

OutputStream测试
package cn.tedu.file;import java.io.*;//本类用于测试字节输出流
public class TestOut {public static void main(String[] args) {
//        method();method1();}private static void method() {OutputStream out = null;try {out = new FileOutputStream(new File("D:\\read\\1.txt"));out.write(45230);out.write(160);out.write(133);} catch (Exception e) {e.printStackTrace();}finally {try {out.close();} catch (IOException e) {e.printStackTrace();}}}private static void method1() {OutputStream out =null;try {out = new BufferedOutputStream(new FileOutputStream("D:\\read\\1.txt"));out.write(123);out.write(111);out.write(101);} catch (Exception e) {e.printStackTrace();}finally {try {out.close();} catch (IOException e) {e.printStackTrace();   }}}
}
字符输出流

抽象父类:
Writer字符输出流-抽象父类-不可实例化
FileWriter-文件字符输出流-普通子类
FileWriter(File file)/FileWriter(String pathName)
BufferedWriter-高效字符输出流(缓冲字符输出流)-普通子类
BufferedWriter(Writer out) 一般使用时传入的是Writer的子类

Writer测试
package cn.tedu.file;import java.io.*;//本类用于测试字符输出流
public class TestOut2 {public static void main(String[] args) {
//        method();method2();}private static void method() {FileWriter f =null;try {f = new FileWriter("D:\\read\\1.txt");f.write(97);f.write(98);f.write(99);} catch (IOException e) {e.printStackTrace();}finally {try {f.close();} catch (IOException e) {e.printStackTrace();}}}private static void method2() {BufferedWriter out =null;try {out = new BufferedWriter(new FileWriter("D:\\read\\1.txt",true));out.write(99);out.write(99);out.write(99);} catch (Exception e) {e.printStackTrace();}finally {try {out.close();} catch (IOException e) {e.printStackTrace();}}}
}

InputStreamReader笔记相关推荐

  1. Java笔记-解决读取文件时中文乱码问题(InputStreamReader设置编码)

    Java一般读取文件时使用如下代码: InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(&q ...

  2. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  3. Java网络编程笔记5

    在Java网络编程笔记4中我们看到了客户端与服务器通信的过程,只是在前面的程序只是单个客户端与服务器通信 的例子. 接下来我们看如何实现多个客户端与服务器通信,对于服务器来说,它要为每个客户端请求的S ...

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

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

  5. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  6. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  7. think in java i o_5.[Think in Java笔记]Java IO系统

    1.输入输出 InputStream和OutputStream是面向字节的,Reader和Write则面向字符的且兼容Unicode. InputStream类型 ByteArrayInputStre ...

  8. Android菜鸟的成长笔记(13)——异步任务(Async Task)

    Android菜鸟的成长笔记(13)--异步任务(Async Task) 原文: [置顶] Android菜鸟的成长笔记(13)--异步任务(Async Task) Android的UI线程主要负责处 ...

  9. JAVA自学笔记22

    JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...

最新文章

  1. java项目close wait_服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
  2. HTML5 本地存储
  3. C++的坑真的多吗?
  4. C# 动态加载 动态卸载
  5. Session的原理,大型网站中Session方面应注意什么?
  6. Python 爬虫工程师必看,深入解读字体反爬虫
  7. 用Pytorch实现逻辑回归分类
  8. 人才盘点最佳实践:45页人才盘点的流程与方法,管理梯队模型
  9. CCF201709-3 JSON查询(100分)【文本处理】
  10. 学习笔记TF065:TensorFlowOnSpark 1
  11. 如何关闭MyEclipse自动更新
  12. 全面罩防毒面具市场调研
  13. linux 下载git源码,在linux系统下Git源码系统的文件下载
  14. SBX子板类及update_atr()方法
  15. 数学也荒唐:20个脑洞大开的数学趣题
  16. 移动硬盘上装linux系统 Ubuntu
  17. 你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。 解决方案
  18. 基于冷冻电镜图像的低通滤波(Lowpass Filter)算法
  19. 谷粒微博学习笔记一:Utilsconstants
  20. 做数据分析很重要的思维模式!!!

热门文章

  1. 数学思想 —— 对称性思维
  2. js中document.documentElement 和document.body 以及其属性 clientWidth等
  3. 拍照购物APP之可行性分析
  4. 软考——(1)J2SE
  5. NET-由于该控件目前不可见、未启用或类型不允许,因此无法将焦点移向
  6. MySQL_存储过程
  7. HTML-HTML基本语法和标签
  8. 机器/深度学习常见面试问题
  9. 7-64 计算平均成绩 (15 分)
  10. 基于顺序存储结构的图书信息表的图书去重(C++)