【Java基础总结】IO流

字节流
1. InputStream 字节输入流

代码演示
InputStream in = System.in;
System.out.println("int read(byte b) 方法演示");
//int read()
int bt = 0;
while((bt=in.read())>0){
System.out.print(bt+" ");
if(bt == 10){ //回车\r(13) 换行\n(10)
break;
}
}
System.out.println("\n\rint read(byte[] buffer) 方法演示");
//int read(byte[] buffer)
int length = 0;
byte[] buffer = new byte[10];
while((length=in.read(buffer)) != 0){
for(int i=0; i<length; i++){
System.out.print(buffer[i]+" ");
}
break;
}
System.out.println("\n\rint read(byte[] buffer, int offset, int len) 方法演示");
//int read(byte[] buffer, int offset, int len)
int len = 1024;
int count = 0;
byte[] buf = new byte[len];
while((count=in.read(buf, 0, len))>0){
for(int i=0; i<count; i++){
System.out.print(buf[i]+" ");
}
break;
}
in.close();
2. OutputStream 字节输出流

代码演示
OutputStream out = System.out;
//void write(int b)
out.write(65); //字符A out.write(13); //回车 \r
out.write(10); //换行 \n //flush()
out.flush(); //write(byte[] bytes)
byte[] bytes = new String("张晓明").getBytes();
out.write(bytes); out.write(13); //回车 \r
out.write(10); //换行 \n //write(byte[] bytes, int offset, int length)
bytes = new String("zhangxiaoming").getBytes();
out.write(bytes, 5, 8); out.close();
字符流
1. Reader 字符输入流

代码演示
Reader reader = new InputStreamReader(System.in);
//int read()
System.out.println("int read() 方法演示");
int c;
while((c=reader.read()) != 13){
System.out.print((char)c);
}
reader.read();
//int read(char[] buf)
System.out.println("\n\rint read(char[] buf) 方法演示");
int count = 0;
char[] buf = new char[1024];
while((count=reader.read(buf)) > 0){
String str = new String(buf, 0, count);
if(str.indexOf("stop")>=0) break;
System.out.print(str);
}
//int read(char[] buffer, int offset, int len)
System.out.println("\n\rint read(char[] buffer, int offset, int len) 方法演示");
int length = 1024;
char[] buffer = new char[length];
while((count=reader.read(buffer, 0, length)) > 0){
String str = new String(buffer, 0, count);
if(str.indexOf("stop")>=0) break;
System.out.print(str);
}
2. Writer 字符输出流

代码演示
Writer writer = new OutputStreamWriter(System.out);
String str = "中国"; //write(String str) 写入字符串
writer.write(str); //write(int c) 写入单个字符
writer.write(10); //换行符 //write(String str, int offset, int length) 写入部分字符串
writer.write(str, 0, 1); writer.write(10); //write(char[] buf) 写入字符数组
char[] chars = str.toCharArray();
writer.write(chars); writer.write(10); //write(char[] buf, int offset, int length) 写入部分字符数组
writer.write(chars, 0, 1);
writer.write(10); writer.flush(); //append(char c) 追加字符
writer.append('z');
writer.write(10); String str2 = "中华人民共和国";
//append(CharSequence csq)
writer.append(str2);
writer.write(10); //append(CharSequence csq, int offset, int length)
writer.append(str2, 0, 4); writer.close();
【Java基础总结】IO流的更多相关文章
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- java基础之IO流(一)字节流
java基础之IO流(一)之字节流 IO流体系太大,涉及到的各种流对象,我觉得很有必要总结一下. 那什么是IO流,IO代表Input.Output,而流就是原始数据源与目标媒介的数据传输的一种抽象.典 ...
- Java基础之IO流整理
Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...
- 【java基础】]IO流
IO流 概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他 ...
- java基础之 IO流
javaIO流 IO流 : (input output) 输入输出流 :输入 :将文件读到内存中 输出:将文件从内存输出到其他地方. IO技术的作用:主要就是解决设备和设备之间的数据传输问题 ...
- java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理
一.输出字节流 输出字节流的体系: -------| OutputStream:所有输出字节流的基类(抽象类) ----------| FileOutputStream:向文件输出数据的输出字节流(把 ...
- java基础之io流总结一:io流概述
IO流概念: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.io流是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. IO流的分类: 根据处理数据类型的不同分为:字符流 ...
- 黑马程序员——JAVA基础之IO流FileReader,FileWriter
------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...
- java基础06 IO流
IO用于在设备间进行数据传输的操作. Java IO流类图结构: IO流分类 字节流: InputStream FileInputStream BufferedInputStream Output ...
- java基础之IO流及递归理解
一.IO流(简单理解是input/output流,数据流内存到磁盘或者从磁盘到内存等) 二.File类(就是操作文件和文件夹的) 1.FIleFile类构造方法 注意:通过构造方法创建的file对象是 ...
随机推荐
- 深入Java线程管理(三):线程同步
一. 引入同步: 有一个很经典的案例,即银行取款问题.我们可以先看下银行取款的基本流程: 1)用户输入账户.密码,系统判断用户的账户.密码是否匹配. 2)用户输入取款金额. 3)系统判断账户金额是否大 ...
- Python--day47--mysql慢日志记录
- tf.shape()
tf.shapetf.shape( input, name=None, out_type=tf.int32)12345例如:将矩阵的维度输出为一个维度矩阵import tensorflow as tf ...
- html(三)注册页面与重定向
注册和登陆的建立是通过界面post提交表单然后在测试界面获取提交的值,进行判断. 1.测试传来的值,是否为空,将值传回到测试界面: ("Reg.jsp?errorCode=" + ...
- H3C 单路径网络中环路产生过程(3)
- springboot 配置文件中属性变量引用方式@@解析
这种属性应用方式是field_name=@field_value@. 两个@符号是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以应该是起不到引用变量的作用. @@ ...
- HDU 5912 Fraction(模拟)
Problem Description Mr. Frog recently studied how to add two fractions up, and he came up with an ev ...
- H3C VLSM
- linux 注册一个 PCI 驱动
为了被正确注册到内核, 所有的 PCI 驱动必须创建的主结构是 struct pci_driver 结构. 这个结构包含许多函数回调和变量, 来描述 PCI 驱动给 PCI 核心. 这里是这个结构的一 ...
- HDU 6662 Acesrc and Travel (换根dp)
Problem Description Acesrc is a famous tourist at Nanjing University second to none. During this sum ...