0基础学java_字节流和字符流

时间:2021-01-23 21:01:30

字节流和字符流

什么是流?

在程序中所有的数据都是以流的方式进行传输和保存的。程序需要数据的时候使用输入流获取数据,而当程序需要将一些数据保存起来的时候就需要使用输出流完成。

0基础学java_字节流和字符流

字节流和字符流

在java.io包中操作文件内容主要有两大类:字节流和字符流。两个类都分为输入、输出操作。在字节流中输出数据主要用OutPutStream,输入数据主要使用InPutStream类完成。在字符流中主要用输出主要Write类完成,输入用Reader类完成。

举例:在D盘创建个.txt文件,并写入hello feimao

 1 package com.feimao.a1;
 2 import java.io.File;
 3 import java.io.IOException;
 4 import java.io.OutputStream;
 5 import java.io.FileOutputStream;
 6 
 7 public class OutPutStreamDemo01 {
 8     public static void main(String args[]) throws Exception{
 9         File f = new File("d:" + File.separator + "test.txt");//声明file对象
10         OutputStream out = new FileOutputStream(f);
11         String str = "hello feimao";
12         byte b[] = str.getBytes();
13         out.write(b);
14         out.close();
15         }
16     }
17 
18  

IO的默认操作是覆盖的,如果想追加操作,那就应该用FileOutputStream类。

字节输入流InputStream

既然程序可以向文件中写入内容,那么可以通过InputStream从文件中把内容取出。与OutputStream类一样,InputStream也是一个抽象类,必须依靠其子类,如果从文件中取出,那么子类肯定是FileInputStream类。

举例:从文件中读取数据

 1 package com.feimao.a1;
 2 
 3 import java.io.File;
 4 
 5 import java.io.IOException;
 6 
 7 import java.io.InputStream;
 8 
 9 import java.io.FileInputStream;
10 
11 
12 
13 public class InputStreamDemo01 {
14 
15     public static void main(String args[]) throws Exception{
16 
17         File f = new File("d:" + File.separator + "test.txt");//声明file对象
18 
19         InputStream input = new FileInputStream(f);//通过对象多态性为其实例化
20 
21      /*   String str = "hello feimao";*/
22 
23         byte b[] = new byte[1024];
24 
25         input.read(b);
26 
27         input.close();
28 
29         System.out.println("内容 :" + new String(b));
30 
31     }
32 
33 }