InputStreamReader笔记
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笔记相关推荐
- Java笔记-解决读取文件时中文乱码问题(InputStreamReader设置编码)
Java一般读取文件时使用如下代码: InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(&q ...
- 知识图谱学习笔记(1)
知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...
- Java网络编程笔记5
在Java网络编程笔记4中我们看到了客户端与服务器通信的过程,只是在前面的程序只是单个客户端与服务器通信 的例子. 接下来我们看如何实现多个客户端与服务器通信,对于服务器来说,它要为每个客户端请求的S ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- java学习笔记5--类的方法
接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...
- think in java i o_5.[Think in Java笔记]Java IO系统
1.输入输出 InputStream和OutputStream是面向字节的,Reader和Write则面向字符的且兼容Unicode. InputStream类型 ByteArrayInputStre ...
- Android菜鸟的成长笔记(13)——异步任务(Async Task)
Android菜鸟的成长笔记(13)--异步任务(Async Task) 原文: [置顶] Android菜鸟的成长笔记(13)--异步任务(Async Task) Android的UI线程主要负责处 ...
- JAVA自学笔记22
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...
最新文章
- java项目close wait_服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- HTML5 本地存储
- C++的坑真的多吗?
- C# 动态加载 动态卸载
- Session的原理,大型网站中Session方面应注意什么?
- Python 爬虫工程师必看,深入解读字体反爬虫
- 用Pytorch实现逻辑回归分类
- 人才盘点最佳实践:45页人才盘点的流程与方法,管理梯队模型
- CCF201709-3 JSON查询(100分)【文本处理】
- 学习笔记TF065:TensorFlowOnSpark 1
- 如何关闭MyEclipse自动更新
- 全面罩防毒面具市场调研
- linux 下载git源码,在linux系统下Git源码系统的文件下载
- SBX子板类及update_atr()方法
- 数学也荒唐:20个脑洞大开的数学趣题
- 移动硬盘上装linux系统 Ubuntu
- 你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。 解决方案
- 基于冷冻电镜图像的低通滤波(Lowpass Filter)算法
- 谷粒微博学习笔记一:Utilsconstants
- 做数据分析很重要的思维模式!!!