IO流05_OutputStream和Writer输出流
【输出流中的字节流和字符流】
【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输出流的更多相关文章
- java中的IO流(输入流与输出流)概述与总结
Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...
- Java的IO流以及输入流与输出流的异同
一:流的基本概念: Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...
- IO流中的字符输入输出流及try...catch处理流处理中的异常
使用字节流读取中文的问题 import java.io.FileInputStream; import java.io.IOException; /* 使用字节流读取中文文件 1个中文 GBK:占用两 ...
- IO流的字节输入输出流(InputStream,OutputStream)
字节输出流与文件字节输出流 文件存储原理和记事本打开文件原理 OutputStream及FileOutputStream import java.io.FileOutputStream; import ...
- 十八、Java基础--------IO流体系以及字符流
在上一章节中详细介绍集合框架的相关知识,在接下来的几篇文章中将讲述Java中另一个及其重要的知识——IO流,本文主要是讲述IO流的一些基本概念以及字符流的相关应用. IO流 介绍IO流之前先介绍一下什 ...
- 【Java基础】Java IO流的总结
Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...
- 一些IO流的知识
IO流: 输入流:输出流: 字节流:字符流:为了处理文字数据方便而出现的对象. 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过,通过字节流读取了相对应的字节数,没有对这些字节直 ...
- IO流常规操作
IO流 IO就是输入输出,IO设备在计算机中起着举足轻重的作用,IO流也就是输入输出流,用来交互数据,程序和程序交互,程序也可以和网络等媒介交互. 一.IO流的分类 要分类,肯定得站得不同角度来看这个 ...
- 慕课网_文件传输基础——Java IO流
第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import ja ...
随机推荐
- How To Use Logstash and Kibana To Centralize Logs On CentOS 6
原文链接:https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-l ...
- C++学习笔记(十三):类、包和接口
看标题感觉这些术语和C++没有什么关系啊,包和接口是Java等语言加入的概念. 这篇文章是基于Java等语言的新概念(相对于C++来说的新概念)来看C++的设计思路. 类: C++中,一个文件可以包含 ...
- C#- Winform调用BAT例子
前段时间在工作的时候需要用到,百度了好久后找,可是找到了又希望调用的时候窗体不要显示出来. proc.StartInfo.CreateNoWindow = true; proc.Start ...
- 【UNIX】select、poll、epoll学习
三者都是UNIX下多路复用的内核接口,select是跨平台的接口,poll是systemV标准,epoll是linux专有的接口,基于poll改造而成. select 函数原型: int select ...
- 软件测试之WEB测试经典总结
在Web工程过程中,基于Web系统的测试.确认和验收是一项重要而富有挑战性的工作.基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览 ...
- iOS8 CLLocationManager 、CLGeocoder获取地理位置
最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下 ...
- SQLServer2005日志传送常见的几个问题
1.STANDBY 只读方式还原数据库:[备份数据库服务器]将完全备份文件复制到备份数据库服务器上,并以STANDBY的方式进行恢复 . SQL语句: RESTORE DATABASE [CNBlog ...
- SQL Server查询所有的表名/空间占用量/行数
select object_name(id) tablename, 8*reserved/1024 reserved, rtrim(8*dpages)+'kb' used, 8*(reserved-d ...
- 学习笔记之Shell脚本的输出重定向
shell http://baike.baidu.com/link?url=qN3THt5ZJhQtwRJJkakWdz5-vZp4V9H3OmNP97XNhaoL-dqU-6rrFrYfHXmYv6 ...
- [COCOS2DX]第一个开源项目的部署和运行<win32版本>
1.无法加载项目: 1.1 按照之前的方法创建一个名为FirstDemo的项目,并将下载到的源代码包全部拷贝到FirstDemo中 1.2 点击demo.sln启动项目: 修改属性: 2.无法打开“g ...