Reader与Writer的编码方式
▪ 获得当前开发环境的字符编码方式 ▪
System.out.println(System.getProperty("file.encoding"));
▪ 字符流的读写根据需要设置编码方式 ▪ 涉及到的类: 读:FileReader (File file) 写:FileWriter(File file)
▪ 加入缓冲区的读:BufferedReader(Reader fr) ▪ 加入缓冲区的写:BufferedWriter(Writer bw)
public class ReaderDemo {
public static void main(String[] args) {
File file = new File("a1.txt");
Reader reader = null;
try {
//创建流对象
reader = new FileReader(file);
//传输数据
int read = reader.read();
System.out.println((char)read);
read = reader.read();
System.out.println((char)read);
read = reader.read();
System.out.println((char)read);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
流操作的基本规律
▪ 1、明确源和目的 ▪ ▪ a)源:输入流 b)目的:输出流 InputStream Reader OutputStream Writer
▪ 2、操作的数据是否是纯文本 ▪ ▪ 是:字符流 Reader,Writer 不是:字节流 InputStream,OutputStream
▪ 3、具体的操作设备 ▪ ▪ 源设备:内存,硬盘,键盘 目的设备:内存,硬盘,控制台
在Java中需要读写文件中的数据的话,需要使用流概念 流表示从一个文件将数据传送到另一个文件,包含一个流向的问题 最终需要选择一个参照物:
当前程序作为参照物 从一个文件中读取数据到程序叫做输入流 从程序输出数据到另一个文件叫做输出流
注意:使用IO流写程序的时候,必须要关闭流对象。
步骤:
1.选择合适的流对象
2.创建对象
3.传输数据
4.关闭流对象(占用系统资源)
public class InputStreamDemo {
public static void main(String[] args) {
InputStream inputStream = null;
try {
//创建流对象
inputStream = new FileInputStream("a.txt");
//传输数据
int read = inputStream.read();
System.out.println((char) read);
read = inputStream.read();
System.out.println((char) read);
read = inputStream.read();
System.out.println((char) read);
read = inputStream.read();
System.out.println((char) read);
read = inputStream.read();
System.out.println((char) read);
read = inputStream.read();
System.out.println((char) read);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}