io流3

                                               字节流

                                                                    字节输出流

       

  OutputStream:OutputStream定义了输出字节流的基本共性功能方法,

 * FileOutputStream创建对象调用构造方法的时候
         * 如果文件存在会被覆盖
         * 如果不存在会加上
         * 字节流操作的单位是字节,write方法一次只能写入一个字节
         * 100代表ascii值里面的d
         * 
         * 步骤:
         * 1.创建流子类对象,绑定数据
         * 2.调用write方法
         * 3.关闭流对象,调用close方法,释放资源
         * */
        File f=new File("e:\\java\\demo.txt");
        FileOutputStream fos=new FileOutputStream(f,true);
        //fos.write(49);
        //若传入的是负数,就走汉字
//        byte[]b={97,98};
//        fos.write(b);
//        fos.write(b, 'a', 'b');
        //需求:传hello
        fos.write("\r\nhello".getBytes());
        fos.close();

    }

这是比较简单的字节流输出

import java.io.FileInputStream;
import java.io.IOException;

public class input {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FileInputStream fis=null;
        try{
        fis=new FileInputStream("e:\\java\\demo.txt");
//        byte[] b=new byte[3];
//        int a=fis.read(b);//返回值代表的是有效字节数
//        for(byte b1:b){System.out.println(b1);}
        int len=0;
        while((len=fis.read())!=-1){
            System.out.print((char)len);
            
        }
    
//        byte[]b=new byte[1024];
//        int l=0;
//        while((l=fis.read(b))!=-1){
//            String str=new String(b,0,l);
//            System.out.println(str);
        
        //}
        }catch(IOException ex){
            ex.printStackTrace();
            throw new RuntimeException();
        }finally{
            try{
                if(fis!=null){
            fis.close();
                }
            }catch(IOException ex){
                ex.printStackTrace();
            }
        }

    }

}

这是字节流输入的几种方法,用byte数组效率会高一点,记得一定要抛异常

            

猜你喜欢

转载自www.cnblogs.com/jingyukeng/p/8931661.html