JavaIO流

JavaIO

字符流和字节流

字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:

  • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
  • 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。

结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

输入流和输出流

对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流

1.File创建目录有2个方法:

public boolean mkdir() 创建一个目录;

public boolean mkdirs() 创建多个目录。

2. 字节流(8位): FileInputStream   读文本文件

FileOutputStream  写文本文件

字符流(16位):  BufferedReader    读文本文件

                            BufferedWriter    写文本文件

DataInputStream    读取二进制文件

DataOutputStream   写入二进制文件

3.读取写入各种文本

 FileInputStream   读文本文件 步骤:

1. 引入相关类

2. 构造一个文件输入流对象

FileInputStream  fis=new FileInputStream("");

3. 利用文件输入流类的方法读取文本文件的数据

fis.available();//可读取的字节数

fis.read();//读取文件的数据

4. 关闭流

fis.close();

FileOutputStream  写文本文件 步骤:

1.引入相关类

2.构造一个文件输出流对象

FileOutputStream  fos=new FileOutputStream("");

1. 利用文件输出流类的方法把数据写入到文本文件中

String str=" ";

byte[] words=str.getBytes();

fos.write(words,0,words.length);

4. 关闭流

fos.close();

BufferedReader   读文本文件 步骤:

1. 引入相关类

2. 用BufferedReader包装FileReader构造一个BufferedReader 流对象,使用了缓冲区提高读文本文件的效率

FileReader fr=new FileReader("");//创建一个FileReader对象BufferedReader br=new BufferedReader(fr);//创建一个BufferedReader对象

3. 利用BufferedReader的方法读取文本文件的数据

br.readLine();

4. 关闭流

br.close();

fr.close();

BufferedWriter    写文本文件  步骤:

1. 引入相关类

2. 用BufferedWriter包装FileWriter构造一个BufferedWriter流对象,使用了缓冲区提高写文本文件的效率

3. 利用BufferedWriter的方法写文本文件

bw.write("");//利用write方法将数据写入到文件中去

bw.newLine();//利用newLine方法将换行符写入到文件中去

4.关闭流

bw.close();

fw.close();

你可能感兴趣的:(java学习,编程语言)