Java—IO流(InputStream)
此抽象类是表示字节输入流的所有类的超类
例:
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("/Users/apple/Desktop/FileTest/a.txt");
int len = 0;
while ((len=fis.read())!=-1){
System.out.println((char) len);
}
fis.close();
}
原理:
一次读取多个字节的方法
例:
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("/Users/apple/Desktop/FileTest/a.txt");
byte[] t = new byte[2];
int len = fis.read(t);
System.out.println(len);
System.out.println(new String(t));
len = fis.read(t);
System.out.println(len);
System.out.println(new String(t));
len = fis.read(t);
System.out.println(len);
System.out.println(new String(t));
fis.close();
}
简化代码:
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("/Users/apple/Desktop/FileTest/a.txt");
byte[] t1 = new byte[1024];
int len1 = 0;
while ((len1 = fis.read(t1))!=-1) {
// System.out.println(new String(t1));
System.out.println(new String(t1,0,len1));
}
fis.close();
原理:
文件复制练习
原理:
明确要求和步骤:
例:(一次读取一个字节)
简化上面代码操作,替换上方代码3和4
字节流读取中文时遇到的小问题
所以字节流读取中文时会出现乱码,这时候 Java提供了字符流