字节流:
FileInputStream
FileInputStream fIn = new FileInputStream("1.avi");  
FileOutputStream(默认覆盖)
FileOutputStream fOut = new FileOutputStream("2.avi");
BufferedInputStream
BufferedInputStream fIn = new BufferedInputStream(new FileInputStream("1.avi"));  
BufferedOutputStream
BufferedOutputStream fOut = new BufferedOutputStream(new FileOutputStream("2.avi")); 
字符流:
FileReader
FileReader fr = new FileReader("1.avi");  
FileWriter (默认覆盖)
FileWriter fw = new FileWriter("2.avi");  
BufferedReader
BufferedReader reader = new BufferedReader(new FileReader("1.avi"));  
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("1.avi")));  
BufferedWriter
BufferedWriter writer = new BufferedWriter(new FileWriter("2.avi"));  
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("2.avi")));  
转换流(字节流转换成字符流)(默认为GBK编码)
InputStreamReader
InputStreamReader reader = new InputStreamReader(new FileInputStream("1.avi"));  
OutputStreamWriter
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("2.avi"));  
数据流:(可读写带类型的数据)
注意:要使用该流读取数据,必须提前知道该文件中数据的存储格式和顺序。读的顺序必须和写入的顺序相同。
DataInputStream
DataInputStream in= new DataInputStream(new FileInputStream("1.avi"));  
DataOutputStream
DataOutputStream out = new DataOutputStream(new FileOutputStream("2.avi"));  
对象流:
ObjectInputStream
ObjectOutputStream 
打印流:(主要用来记录日志,通过改变系统自带的流的输出方向来实现)
PrintWriter//标准的输出流(字符流)
PrintStream //标准的输出流(默认输出到控制台)
        PrintStream ps = System.out;

ps.println("JAVA。。。。");

用系统打印流记录日志:
        //默认是输出到控制台的.
        System.out.println("HelloWorld!");
 
        PrintStream ps = System.out;
        ps.println("JAVA。。。。");
 
        //可以改变输出方向.
        System.setOut(new PrintStream(new FileOutputStream("log")));  //log日志文件
 
        //再次输出
        //System.out.print("HAHA");//此时已经改变了输出方向,"HAHA"将会记录到日志文件中!
 
        //通常使用上面的这种方式记录日志.
        //需求:记录日志,m1方法开始执行的时间和结束的时间.记录到log文件中.
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        System.out.println("m1方法开始执行 "+sdf.format(new Date()));
        m1();

System.out.println("m1方法执行结束 "+sdf.format(new Date()));

 
 
 
 

8.23.4 IO-输入输出16个流的更多相关文章

  1. io系列之字符流

    java中io流系统庞大,知识点众多,作为小白通过五天的视频书籍学习后,总结了io系列的随笔,以便将来复习查看. 本篇为此系列随笔的第一篇:io系列之字符流. IO流 :对数据的传输流向进行操作,ja ...

  2. Java之IO输入输出

    首先介绍File类: 我们直接上代码: package com.learn.chap10.sec02; import java.io.File; import java.io.IOException; ...

  3. C++(四十六) — 异常处理机制、标准IO输入输出

    1.异常处理机制 一般来说,异常处理就是在程序运行时对异常进行检测和控制.而在C++ 中,使用 try-throw-catch模式进行异常处理的机制. #include<iostream> ...

  4. IO库----IO类,文件输入输出,string流

    一.IO类 1.IO库类型和头文件表: 头文件 类型 iostream istream,wistream 从流读取数据 ostream,wostream 向流写入数据 iostream,wiostre ...

  5. 16、IO (Properties、序列化流、打印流、CommonsIO)

    Properties集合的特点 * A: Properties集合的特点 * a: Properties类介绍 * Properties 类表示了一个持久的属性集.Properties 可保存在流中或 ...

  6. IO流16 --- 对象流操作字符串 --- 技术搬运工(尚硅谷)

    序列化 @Test public void test12() throws IOException { ObjectOutputStream oos = new ObjectOutputStream( ...

  7. Java基础(十二)IO输入输出

    一.IO 概述 1.IO 概念 IO:I 代表 Input 输入:O 代表 Output 输出. Java 中 IO 是以流为基础进行输入输出,所有的数据被串行化(保存)写入输出流,或者从输入流读入. ...

  8. Java IO 字节流与字符流 (五)

    Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...

  9. Java IO 字节流与字符流 (三)

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

随机推荐

  1. documentsUI源码分析

    documentsUI源码分析 本文基于Android 6.0的源码,来分析documentsUI模块. 原本基于7.1源码看了两天,但是Android 7.1与6.0中documentsUI模块差异 ...

  2. App 组件化/模块化之路——Repository 模式

    什么是 Repository 模式 Repository 这个词直译过来仓库.仓储的意思.这个意思其实也能反应出 Repository 模式作用.App 开发中少不了对数据的操作,数据的来源可能有很多 ...

  3. github 发布项目

    自己开发了一个插件或项目,需要发布到github上,之前看到很多文章,但是都会有一些问题,经过自己多次尝试,想分享给初学者们. 首先你需要一个github账号,所有还没有的话先去注册吧! 官网:htt ...

  4. RobotFramework自动化测试框架的基础关键字(四)

    1.1.1        如何使用for循环 不管在哪种编程语言中,for循环都是必不可少的,在Robot Framework中,我们也可以使用for循环来做遍历处理. 我们用for循环对一个列表进行 ...

  5. python-继承类执行的流程

    在读python数据机构与算法, 发现了下面这个例子, 之前没有碰到过, 记录下来 In [17]: class A: def f(self): self.g() def g(self): print ...

  6. mysql5.7.18的安装与主从复制

    CentOS6.7安装mysql5.7.18 1.  解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /u ...

  7. nginx的平滑升级

    一:解释nginx的平滑升级 随着nginx越来越流行,并且nginx的优势也越来越明显,nginx的版本迭代也来时加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理功能, ...

  8. UITextField成为第一响应者

    @interface CSRegisterTwoViewController ()<UITextFieldDelegate> @property (weak, nonatomic) IBO ...

  9. Java常用文件操作-2

    上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...

  10. Java设计模式学习笔记,二:工厂模式

    工厂模式,主要实现了创建者和调用者的分离. 分类:1.简单工厂模式:2.工厂方法模式:3.抽象工厂模式. 核心:实例化对象时,用工厂方法代替new操作. 一.简单工厂模式 也叫静态工厂模式,工厂类中实 ...