【输出流中的字节流和字符流】

【OutPutStream和Writer】

[ OutputStream和Writer中包含的方法 ]

void write(int c)       将指定的字节/字符输出到输出流中,其中c既可以是字节,也可是字符

void read( byte[] buf ) / void read( char[] buf )    将字节/字符数组中的数据输出到指定的输出流中

void read( byte[] buf, int off, int len ) / void read( char[] buf, int off, int len )  将字节/字符数组中的数据从off位置开始,长度为len的字节/字符输出到输出流中。

[ Writer特有的两个方法(针对String类型的数据) ]

void write( String str )  将str字符串中包含的字符输出到指定的输出流中

void write( String str, int off, int len ) 将str字符串里从off位置开始,长度为len的字符串输出到指定的输出流中。

【测试1:FileInputStream输入内容,FileOutputStream将内容输出到磁盘】

package com.Higgin.part3;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("c://testJavaIO/aaa.java"); //创建字符输入流
FileOutputStream fos = new FileOutputStream("c://testJavaIO/aaaNew.java");
byte[] bbuf=new byte[];
int hasInput=;
while((hasInput=fis.read(bbuf))>){ //从aaa.java文件中不断取出数据
fos.write(bbuf,,hasInput); //每读取一次数据,将数据写入输出流
}
/*
* 直接InputStream.write(String)会出错,下面的fos.write(testStr);
* 使用InputStream.write(String.getBytes())处理就可以了!如下就是修改后的fos.write(testStr.getBytes());
*/
String testStr="哈哈哈哈哈哈";
fos.write(testStr.getBytes()); //处理过str后就可以将流输出了
fis.close();
fos.close();
}
}

【运行前文件位置】

【运行后的结果】

【测试2:FileWriter将String内容输出到磁盘】

package com.Higgin.part3;

import java.io.FileWriter;
import java.io.IOException; public class FileWriteDemo {
public static void main(String[] args) throws IOException {
FileWriter fw=new FileWriter("c://testJavaIO/ddd.txt"); fw.write("HigginCui 2016阅读的金庸小说\n"); //可以直接将String类型的数据写入Writer类型的输出流中,Writer类特有,OutputStream得先将字符串进行转化为byte[]数组
fw.write("天龙八部\n");
fw.write("射雕英雄传\n");
fw.write("神雕侠侣\n");
fw.write("笑傲江湖\n"); fw.close();
}
}

【运行后的结果】

【注意】

使用java的IO流执行输出的时候,不要忘记关闭输出流,关闭输出流有以下原因:

1.保证物理流的资源被收回

2.将输出流缓冲区中的数据flush到物理节点中(因为在执行close()方法之前,自动执行flush()方法 )

IO流05_OutputStream和Writer输出流的更多相关文章

  1. java中的IO流(输入流与输出流)概述与总结

    Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...

  2. Java的IO流以及输入流与输出流的异同

    一:流的基本概念:           Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...

  3. IO流中的字符输入输出流及try...catch处理流处理中的异常

    使用字节流读取中文的问题 import java.io.FileInputStream; import java.io.IOException; /* 使用字节流读取中文文件 1个中文 GBK:占用两 ...

  4. IO流的字节输入输出流(InputStream,OutputStream)

    字节输出流与文件字节输出流 文件存储原理和记事本打开文件原理 OutputStream及FileOutputStream import java.io.FileOutputStream; import ...

  5. 十八、Java基础--------IO流体系以及字符流

    在上一章节中详细介绍集合框架的相关知识,在接下来的几篇文章中将讲述Java中另一个及其重要的知识——IO流,本文主要是讲述IO流的一些基本概念以及字符流的相关应用. IO流 介绍IO流之前先介绍一下什 ...

  6. 【Java基础】Java IO流的总结

    Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...

  7. 一些IO流的知识

    IO流: 输入流:输出流: 字节流:字符流:为了处理文字数据方便而出现的对象. 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过,通过字节流读取了相对应的字节数,没有对这些字节直 ...

  8. IO流常规操作

    IO流 IO就是输入输出,IO设备在计算机中起着举足轻重的作用,IO流也就是输入输出流,用来交互数据,程序和程序交互,程序也可以和网络等媒介交互. 一.IO流的分类 要分类,肯定得站得不同角度来看这个 ...

  9. 慕课网_文件传输基础——Java IO流

    第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import ja ...

随机推荐

  1. C#学习笔记——面向对象、面向组件以及类型基础

    C#学习笔记——面向对象.面向组件以及类型基础 目录 一 面向对象与面向组件 二 基元类型与 new 操作 三 值类型与引用类型 四 类型转换 五 相等性与同一性 六 对象哈希码 一 面向对象与面向组 ...

  2. ECSHOP在线手册布局参考图--商品详情页 goods.dwt

        A.购物车 1,设置方法 程序自动读取购物车的商品数量 2,代码相关 cart.lbi 中 {insert_scripts files='transport.js'} <div clas ...

  3. Unity3D-UnityVS的安装和使用

    我们先下载UnityVS,在下面这个网站的资源中搜索一下 http://www.u3dchina.com/portal.php 安装完毕后,执行以下操作 1:打开你的Unity项目 2:在Unity中 ...

  4. Spring集成Quartz定时任务框架介绍和Cron表达式详解

    原文地址:http://www.cnblogs.com/obullxl/archive/2011/07/10/spring-quartz-cron-integration.html 在JavaEE系统 ...

  5. .NET实现单点登录研究过程总结--【SSO】

    一.单点登录实现结果: 权限系统登录后,新生系统通过拦截器,获取本地的cookie能够訪问该系统:权限系统用户注销后,销毁本地cookie.訪问新生链接.自己主动跳转到登录首页. 二.主要遇到的问题: ...

  6. Js_分页

    public ActionResult Index(int? pageIndex) { List<string> data = new List<string>(); ; i ...

  7. eclipse安装android sdk后工具栏没有图标的设置

    如果没有出现这android图标,选择'Window>Customize Perspective...>Commands',并在'Available command groups'中勾选' ...

  8. 解读eXtremeComponents代码结构--转载

    原文地址:http://blog.csdn.net/lark3/article/details/1937466 大致整理了去年写的东西,罗列如下: ec是一系列提供高级显示的开源JSP定制标签,当前的 ...

  9. /lib /usr/lib /usr/local/lib 的区别

    /lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件.目录 /usr/lib/ 中含 ...

  10. 关于SWT中的Label类和Text类

    Label类的继承关系图 Label是SWT中最简单的界面组件,给出他的一个实例如下: public class Label1 { public static void main(String[] a ...