【Java基础总结】IO流

字节流

1. InputStream 字节输入流

代码演示

 1     InputStream in = System.in;
 2
 3     System.out.println("int read(byte b) 方法演示");
 4     //int read()
 5     int bt = 0;
 6     while((bt=in.read())>0){
 7         System.out.print(bt+" ");
 8         if(bt == 10){    //回车\r(13) 换行\n(10)
 9             break;
10         }
11     }
12     System.out.println("\n\rint read(byte[] buffer) 方法演示");
13
14     //int read(byte[] buffer)
15     int length = 0;
16     byte[] buffer = new byte[10];
17     while((length=in.read(buffer)) != 0){
18         for(int i=0; i<length; i++){
19             System.out.print(buffer[i]+" ");
20         }
21         break;
22     }
23
24     System.out.println("\n\rint read(byte[] buffer, int offset, int len) 方法演示");
25
26     //int read(byte[] buffer, int offset, int len)
27     int len = 1024;
28     int count = 0;
29     byte[] buf = new byte[len];
30     while((count=in.read(buf, 0, len))>0){
31         for(int i=0; i<count; i++){
32             System.out.print(buf[i]+" ");
33         }
34         break;
35     }
36     in.close();

2. OutputStream 字节输出流

代码演示

 1     OutputStream out = System.out;
 2     //void write(int b)
 3     out.write(65);    //字符A
 4
 5     out.write(13);    //回车 \r
 6     out.write(10);    //换行 \n
 7
 8     //flush()
 9     out.flush();
10
11     //write(byte[] bytes)
12     byte[] bytes = new String("张晓明").getBytes();
13     out.write(bytes);
14
15     out.write(13);    //回车 \r
16     out.write(10);    //换行 \n
17
18     //write(byte[] bytes, int offset, int length)
19     bytes = new String("zhangxiaoming").getBytes();
20     out.write(bytes, 5, 8);
21
22     out.close();

字符流

1. Reader 字符输入流

代码演示

 1     Reader reader = new InputStreamReader(System.in);
 2
 3     //int read()
 4     System.out.println("int read() 方法演示");
 5     int c;
 6     while((c=reader.read()) != 13){
 7         System.out.print((char)c);
 8     }
 9     reader.read();
10
11     //int read(char[] buf)
12     System.out.println("\n\rint read(char[] buf) 方法演示");
13     int count = 0;
14     char[] buf = new char[1024];
15     while((count=reader.read(buf)) > 0){
16         String str = new String(buf, 0, count);
17         if(str.indexOf("stop")>=0) break;
18         System.out.print(str);
19     }
20
21     //int read(char[] buffer, int offset, int len)
22     System.out.println("\n\rint read(char[] buffer, int offset, int len) 方法演示");
23     int length = 1024;
24     char[] buffer = new char[length];
25     while((count=reader.read(buffer, 0, length)) > 0){
26         String str = new String(buffer, 0, count);
27         if(str.indexOf("stop")>=0) break;
28         System.out.print(str);
29     }

2. Writer 字符输出流

代码演示

 1     Writer writer = new OutputStreamWriter(System.out);
 2     String str = "中国";
 3
 4     //write(String str) 写入字符串
 5     writer.write(str);
 6
 7     //write(int c)    写入单个字符
 8     writer.write(10);    //换行符
 9
10     //write(String str, int offset, int length) 写入部分字符串
11     writer.write(str, 0, 1);
12
13     writer.write(10);
14
15     //write(char[] buf)    写入字符数组
16     char[] chars = str.toCharArray();
17     writer.write(chars);
18
19     writer.write(10);
20
21     //write(char[] buf, int offset, int length) 写入部分字符数组
22     writer.write(chars, 0, 1);
23     writer.write(10);
24
25     writer.flush();
26
27     //append(char c) 追加字符
28     writer.append(‘z‘);
29     writer.write(10);
30
31     String str2 = "中华人民共和国";
32     //append(CharSequence csq)
33     writer.append(str2);
34     writer.write(10);
35
36     //append(CharSequence csq, int offset, int length)
37     writer.append(str2, 0, 4);
38
39     writer.close();
时间: 2024-07-31 09:25:50

【Java基础总结】IO流的相关文章

java基础篇IO流的规律

前两篇降了IO流中的字节流和字符流复制的例子,今天来总结一下IO流的规律 掌握好IO流的规律,再开发中会很好用 下面来总结一下: 1,明确源和目的 源:输入流 InputStream 和Reader 目的:输出流 OutputStream 和Writer 2,操作的数据是否是纯文本. 是:使用字符流 不是:使用字节流 3,当体系明确后,在明确要使用哪个具体的对象,通过设备来进行区分 源设备: 内存,硬盘,键盘 目的设备: 内存,硬盘,控制台 这里的源就是你想进行的操作,比如说你想从c盘复制一个文

java基础之IO流(一)

java基础之IO流(一)之字节流 IO流体系太大,涉及到的各种流对象,我觉得很有必要总结一下. 那什么是IO流,IO代表Input.Output,而流就是原始数据源与目标媒介的数据传输的一种抽象.典型数据源与目标媒介包括磁盘.网络.内存等等. IO流的分类: 按流向分为:输入流和输出流(本地内存为参考) 按处理数据单位:字符流和字节流 按照是否与特定的地方相连(磁盘.网络.内存):节点流和处理流 节点流:可以从或向一个特定的地方(节点)读写数据. 处理流:是对一个已存在的流的连接和封装,通过所

Java基础知识IO流(其他类)

IO包中的其他类 打印流 PrintWriter与PrintStream 序列流 SequenceInputStream 切割文件 操作对象 ObjectInputStream与ObjectOutputStream 管道流 PipedInputStream和PipedOutputStream RandomAccessFile类 (随机访问文件) 操作基本数据类型 DataInputStream和DataOutputStream类 操作数组的流 ByteArrayInputStream/ByteA

java基础8(io流3)

1.LineNumberReader: public int getLineNumber():获取行号 public void setLineNumber(int lineNumber):设置起始行号 String readLine():读取一行 2.操作基本数据类型的流 DataInputStream:读数据 DataOutputStream:写数据 作用:可以操作基本类型的流对象,其读写顺序必须一致,否则数据有问题. public static void main(String[] args

Java基础之IO流学习总结

Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流的区

Java基础之IO流

1.IO流概述 (1)用来处理设备(硬盘,控制台,内存)间的数据. (2)java中对数据的操作都是通过流的方式. (3)java用于操作流的类都在io包中. (4)按照流操作的数据的类型不同:分为字节流和字符流.字符流是为了方便中文的操作而来的. (5)按照流的流向不同分为:输入流,输出流 2.IO流常用基类: (1)字节流 输出字节流:OutputStream:字节写入流抽象类 |--->FileOutputStream: 字节写入流 |--->BufferedOutputStream:

JAVA基础学习---IO流总结

Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作.   IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流

java基础06 IO流

IO用于在设备间进行数据传输的操作. Java IO流类图结构:   IO流分类 字节流: InputStream FileInputStream BufferedInputStream OutputStream FileOutputStream BufferedOutputStream 字符流: Reader FileReader BufferedReader Writer FileWriter BufferedWriter 一.FileInputStream/FileOutputStream

java 基础学习 IO流 学习总结

File类概述和构造方法: File类的概述 文件和目录路径名的抽象表示形式  构造方法 public File(String pathname) public File(String parent,String child) public File(File parent,String child) 创建功能 public boolean createNewFile() public boolean mkdir() public boolean mkdirs() 删除功能 public boo

Java基础:IO流之字节流和字符流

1. 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等. 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL. 流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它. 实际上,流的源端和目的端可简单地看成是字节的生产者和消费