[每日一练] java 的输入输出流(二)
一、字符流
1.一个字符流由两个字节流组成。
2.Reader 和Writer 是面向字符的输入和输出的超类。
3.文件字符流的读写
(1)创建文件字符流对象,并打开文件
①创建FileReader 输入流对象
public FileReader(String filename)
public FileReader(File file)
②创建FileWriter 输出流对象
public FileWriter (String filename)
public FileWriter (File file)
filename:打开的文件的名 file:文件类File 的对象
(2)文件字符流的读写 --类似字节流的读写
(3)文件字符流的关闭
public void close() throws IOException
eg: j键盘输入文字,写入文件中
package io;
import java.io.FileWriter;
import java.io.IOException;
public class FilecharOut {
public static void main(String[] args) {
char c[] = new char[512];
byte b[] = new byte[512];
try {
//创建字符输出流对象
FileWriter wf= new FileWriter("E:\\data\\1.txt");
//键盘输入一行字符到字节数组,并返回输入字符个数
System.out.println("请输入字符");
int n=System.in.read(b);
//将b中元素转换为字符,放入C中
for(int i = 0;i<n;i++) {
c[i] = (char)b[i];
//将字符数组写入文件
wf.write(c);
wf.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("创建字符输出流对象失败");
}
}
}
二、字符缓冲流与文件的读写
–BufferedReader 和 BufferedWriter 以缓冲区方式对数据进行输入输出
public BufferedReader (Reader a)
public BufferedReader (Reader a,int size)
a:为超类Reader 的对象 size :为用户设定的缓冲区大小
除此之外,还有
public String readLine() throws IOException
–用于从文件中读出一行字符
2.BufferedWriter类
public BufferedWriter(writer a)
public BufferedWriter(writer a,int size)
除此之外,还有
public void newdLine() throws IOException
–用于写入一行字符