文件及IO流
所有文件及文本等存储在计算机里的都是以二进制形式存储
不同的文件在计算机上的显示效果不一样,主要以后缀名来区分
输出与输出
IO流的输入输出是相对与内存中的当前而言的【硬盘到内存是输入,内存到硬盘是输出】
1)字节流:以字节的形式读取数据
inputSteam ----------FilrInputSteam
outputStream ----------FileOutputStream
2)字符流:一字符的形式读取数据
Reader --------------BufferedReader
Writer ----------------BufferedWriter
拓展
FileReader
FileWriter
3)字节流和字符流之间的转换
InputStreamReader 类是从字节流到字符流的桥梁:它读入字节,并根据指定的编码方式,将之转换为字符流
InputStreamReader 的 read() 方法之一的每次调用,可能促使从基本字节输入流中读取一个或多个字节。
为了达到更高效率,考虑用 BufferedReader 封装 InputStreamReader ,
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
例如: // 实现从键盘输入一个整数
[java] view plaincopy
String s = null;
InputStreamReader re = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(re);
try {
s = br.readLine();
System.out.println("s= " + Integer.parseInt(s));
br.close();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (NumberFormatException e)// 当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
{
System.out.println(" 输入的不是数字 ");
}
InputStreamReader(InputStream) 用缺省的字符编码方式,创建一个 InputStreamReader
InputStreamReader(InputStream, String) 用已命名的字符编码方式,创建一个 InputStreamReader
OutputStreamWriter
OutputStreamWriter 将多个字符写入到一个输出流,根据指定的字符编码将多个字符转换为字节。
每个 OutputStreamWriter 合并它自己的 CharToByteConverter, 因而是从字符流到字节流的桥梁。