IO流04_InputStream和Reader输入流
【输入流中的字符流和字节流】
【InputStream和Reader】
InputStream和Reader是所有输入流的抽象基类,本身不能实例化,但是他们是所有输入流的模板。
[ InputStream包含的方法 ]
int read() 从输入流中读去单个字节,返回读取的字节数。(字节类型转换成int类型)
int read( byte[] b ) 从输入流中最多读取b.length个字节的数据,将数据存储在字节数组b中,返回读取的字节数。
int read( byte[] b, int off, int len ) 从输入流中最多读取len个字节的数据,并将其存储在字节数组b中,并不是从数组起点开始,而是从off位置开始,返回读取的字节数。
[ Reader包含的方法 ]
int read() 从输入流中读去单个字符,返回读取的字符数。(字符类型转换成int类型)
int read( char[] c ) 从输入流中最多读取c.length个字符的数据,将数据存储在字符数组c中,返回读取的字符数。
int read( char[] c, int off, int len ) 从输入流中最多读取len个字符的数据,并将其存储在字符数组c中,并不是从数组起点开始,而是从off位置开始,返回读取的字符数。
【测试1:FileInputStream读取文件中的数据,并打印到控制台】
package com.Higgin.part3;
import java.io.FileInputStream; public class FileInputStreamDemo { public static void main(String[] args) throws Exception {
FileInputStream fis=new FileInputStream("c://testJavaIO/aaa.java"); //创建字节输入流
byte[] bbuf=new byte[]; //创建一个字节长度为1024的缓存,即"竹筒"
int hasRead=; //用于保存每次实际读取的字节数
int i=;
while((hasRead=fis.read(bbuf))>){ //如果取得数据为-1或0,说明上一次已经取完所有数据
System.out.println(new String(bbuf,0,hasRead));
System.out.println("i------"+i);
i++;
}
fis.close();//关闭文件输入流
}
}
【想要提取的文件中的内容】

【运行结果】

【将上面代码中的缓存数组的长度修改为80,即改为" byte[] bbuf=new byte[]; "后的运行结果】

【测试2:FileReader读取文件中的数据,并打印到控制台】
package com.Higgin.part3;
import java.io.FileReader;
import java.io.IOException; public class FileReadDemo {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("c://testJavaIO/aaa.java");
char[] cbuf=new char[]; //创建一个字符长度为32的缓存,即"竹筒"
int hasRead=; //用于保存实际读取的字符数
int i=;
while((hasRead=fr.read(cbuf))>){
System.out.println(new String(cbuf,0,hasRead)); //每次取得缓存中的字符数组cbuf,将字符数组转化成字符串输出
System.out.println("i------"+i);
i++;
}
fr.close();
}
}
【运行结果】

IO流04_InputStream和Reader输入流的更多相关文章
- 黑马程序员_<<IO流基本操作(Writer,Reader)>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1.概述 硬盘之间的文件的传输,硬盘中文件的 ...
- Java基础知识强化之IO流笔记61:输入流 和 输出流 使用总结
1. 结构: 字节流:InputStream,OutputStream 字符流:Reader,Writer 2. 字符流 和 字节流: (1)Reader:读取字符流的抽象类 BufferedRead ...
- java基础49 IO流技术(对象输入流/对象输出流)
1.对象输入输出流 对象注意作用是用于写对象信息与读取对象信息 1.对象输出流:ObjectOutputStream 2.对象输入流:ObjectInputStream 2.对象输入输出流的步骤 ...
- 【JAVA IO流之字符流】
一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来 ...
- Java中IO流中所涉及到的各类方法介绍
IO流之字节流 (1)IO用于在设备间进行数据传输的操作 (2)分类: A:流向 输入流 读取数据 输出流 写出数据 B:数据类型 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 注意 ...
- IO流回顾与总结第一篇之字节流与字符流的操作。。。。。
一.引言 趁着年后的这点时间,抓紧点时间回顾下javase中的IO流,以往都是用到那些常用的IO类,这次来个全点的,有不对的地方还请大神指正一下,做到坚持写博的习惯来...... 回归正题,IO流顾名 ...
- JavaSE | IO流
java.io.File类(文件和目录路径名的抽象表示形式) 如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建.删除.重命名文件和目录. File类是文件或目录的路径,而不是 ...
- java IO流——字符流
一.概述 流的概念: 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行.设备可以是文件,网络,内存等. 流具有方向性,至于是输入流还是输出流则是 ...
- IO流的Properties集合,序列化流与反序列化流,打印流及commons-IO
内容介绍 Properties集合 序列化流与反序列化流 打印流 commons-IO Properties类 Properties类介绍 Properties 类表示了一个持久的属性集.Proper ...
随机推荐
- 【Matlab】随机游走产生图像效果
随机游走类似布朗运动,就是随机的向各个方向走吧.产生的图像实在漂亮,所以还是贴出分享. clear all; close all; clc; n=100000; x= 0; y= 0; pixel=z ...
- JNI-使用RegisterNatives注册本地方法
转自: http://blog.chinaunix.net/uid-26009923-id-3410141.html 1. 以前在jni中写本地方法时,都会写成 Java_com_example_he ...
- cocos2d-x 屏幕坐标系和OPenGL坐标系转换
转自:http://home.cnblogs.com/group/topic/57609.html cocos2d坐标系(OPenGL坐标系):以左下角为原点,x向右,y向上 屏幕坐标系(androi ...
- ArcGIS教程:加权叠加
摘要 使用经常使用測量比例叠加多个栅格数据,并依据各栅格数据的重要性分配权重. 插图 插图中,两个输入栅格已又一次分类为 1 至 3 三种公共測量级别.为每一个栅格均分配了一个影响百分比.这些像元值与 ...
- Codeforces Round #261 (Div. 2) D 树状数组应用
看着题意:[1,i]中等于a[i]的个数要大于[,jn]中等于a[j]的个数 且i<j,求有多少对这种(i,j) ,i<j可是 i前面的合法个数 要大于j后面的 看起来非常像逆序数的样子 ...
- UvaLive 6667 Longest Chain (分治求三元组LIS&树状数组)
题目链接: here 题意: 和hdu4742类似.差别就是一部分三元组是直接给出的.另一部分是用他给的那个函数生成的.还有就是这里的大于是严格的大于a>b必须ax>bx,ay>by ...
- tomcat的几种部署方法
原文:http://blog.163.com/pg_roger/blog/static/185884389201172921211937/ 1.将应用文件夹或war文件(均指编译好的文件)塞到tomc ...
- pomelo 开发环境搭建
开发前提条件: Windows系统,请确保你的Windows系统包括源代码编译工具.Node.js的源代码主要由C++代码和JavaScript代码构成,可是却用gyp工具来做源代码的项目管理,该工 ...
- [node.js]RPC(远程过程调用)的实现原理
刚接触到RPC(远程过程调用),就是可以在本地调用远程机子上的程序的方法,看到一个简单的nodejs实现,用来学习RPC的原理很不错:nodejs light_rpc 使用示例: //服务端 ...
- Docker容器案例:应用 Mysql
原创 杜亦舒 前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装 可能有人会认为没必要,在一台 ...