首先:这两个类都是抽象类,要通过子类对象来实例化。
其次:这两个类都是字节操作类,需要使用byte数组操作数据。必然会有数组大小的限制。
例1:向文件中写一个字符串
import java.io.*;
public class ooDemo04 {
public static void main(String[] args)throws Exception{
//1、表示要操作gzg.txt文件
File f = new File("e://gzg.txt");
//2、通过子类实例化
//使用FileOutputStream类
OutputStream out = null;
out = new FileOutputStream(f);
String str = "HELLO GZG...你好";
String str1 = str.toLowerCase();
byte[] b = str1.getBytes();
//3、将byte数组写到文件之中
out.write(b);
//4.关闭数据流
out.close();
}
}
例2:从文件中读取数据。
import java.io.*;
public class ooDemo05 {
public static void main(String[] args){
//1.构建一个子类对象File用来找到文件
File f = new File("E://gzg.txt");
//2.并通过File来实例化父类InputStream
InputStream in = null;
try{
in = new FileInputStream(f);
}
catch(Exception e){
System.out.println("打开文件操作失败!!!");
}
//3.从文件中读取数据
//使用父类中int read(byte[] b)方法向byte数组中读取数据,返回值是读取的字节个数
intlen = 0;
byte[] b =newbyte[1024];
try {
len = in.read(b);
} catch (IOException e) {
e.printStackTrace();
}
//将读取到byte数组中的数据转化为String类型,然后打印输出
String str = new String(b);
System.out.println("读取到的内容是:" + str);
//4.关闭输入流
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}