java 字节流输入输出
字节流输出
OutputStream :写入。这是抽象类,是输出字节流的超类,操作数据的都是字节
FileOutputStream是OutputStream可用来写入数据到文件的子类,
FileOutputStream构造方法,如果指定的文件不存在,他会创建一个,如果指定的文件存在,他会创建并覆盖
1 public static void main(String[] args) throws FileNotFoundException { 2 File f = new File("E:\\java学习\\6月15号\\a.txt"); //创建File对象路径
3 FileOutputStream f1 = new FileOutputStream(f); //创建一个a.txt文件
FileOutputStream f = new FileOutputStream("E:\\java学习\\6月15号\\a.txt"); //调用FileOutPutStream(String name)构造方法
1 FileOutputStream f = new FileOutputStream("E:\\java学习\\6月15号\\a.txt"); 2 byte[] by ={97,98,99,100}; 创建一个byte【】 数组,调用write(byte【】 b)方法就把字节写入a.txt 3 f.write(by);
字节输入流
InputStream :读取。是 字节输入流的超类,这是一个抽象方法,定义了对数据输入的方式
FileInputStream 是InputStram的子类,实现了字节输入
1 public class Tese { 2 3 public static void main(String[] args) throws IOException { 4 File f = new File("E:\\java学习\\6月25号\\a.txt"); 5 FileInputStream f2 =new FileInputStream(f); 6 byte[] by = new byte[1024]; 7 int len =0; 用来接收字节长度,如果不等于-1,就一直往下读取 8 while((len=f2.read())!=-1){ 9 System.out.print((char)len); 10 } 11 f2.close(); 12 } 13 }
复制文件
先读取后写入
public class Tese { public static void main(String[] args) throws IOException { File f = new File("E:\\java学习\\6月25号\\a.txt"); 创建读取的对象文件,源文件 FileInputStream f2 =new FileInputStream(f); FileOutputStream f3 =new FileOutputStream("E:\\java学习\\6月25号\\b.txt"); 创建接收的文件,目的文件 byte[] by = new byte[1024]; int len =0; while((len=f2.read(by))!=-1){ 当len不等于-1,就一直写入 f3.write(by, 0, len); 读取by数组,从第0位开始,到-1位结束的 } f2.close(); f3.close(); } }