字节流和字符流操作

1、操作文本文件

1.1 使用字符流

    /**
     * 文本文件,字符流方式读取
     *
     * @throws Exception
     *
     */
    public static void fsAndOs_2() throws Exception {
       InputStreamReader ir = new FileReader("123.txt");
       OutputStreamWriter ow = new FileWriter("456.txt");
 
       String str = null;
 
       int temp = 0;
       while ((temp = ir.read()) != -1) {
           // 打印输出
           str += (char) temp;
           // 输出到文件
           ow.write(temp);
       }
       ow.flush();
       ir.close();
       ow.close();
 
       System.out.println(str);
 
    }

1.2 使用字节流

    /**
     * 文本文件,字节流方式读取
     *
     * @throws Exception
     */
    public static void fsAndOs_1() throws Exception {
 
       InputStream fs = new FileInputStream("123.txt");
       OutputStream os = new FileOutputStream("456.txt");
 
       String str = null;
 
       int temp = 0;
       while ((temp = fs.read()) != -1) {
           // 打印输出
           str += (char) temp;
           // 输出到文件
           os.write(temp);
       }
       os.flush();
 
       fs.close();
       os.close();
 
       System.out.println(str);
    }

2、操作其他文件(mp3,avi等)

1.1 使用字节流

    /**
     * 操作其他文件(mp3,avi等)
     *
     * @throws Exception
     *
     */
    public static void fsAndOs_3() throws Exception {
       /**
        * 操作其他文件(mp3,avi等),这个一般是使用字节流,而没法使用字符流,这个方法和fsAndOs_1一样。
        **/
    }

3、操作方式

1.单字节或单字符读取。

    /**
     * 操作方式, 1.单字节或单字符读取。
     *
     * @throws Exception
     *
     */
    public static void fsAndOs_4() throws Exception {
       /**
        * 以上的实例(fsAndOs_1,fsAndOs_2,fsAndOs_3),都是单字节或单字符操作方式。
        **/
    }

2.自定义缓冲区方式读取(推荐,效率高)。

    /**
     * 操作方式,2.自定义缓冲区方式读取(推荐,效率高)。
     *
     * @throws Exception
     *
     */
    public static void fsAndOs_5() throws Exception {
       InputStream fs = new FileInputStream("123.txt");
       OutputStream os = new FileOutputStream("456.txt");
 
       byte[] charTemp = new byte[10];
 
       int temp = 0;
       while ((temp = fs.read(charTemp)) != -1) {
           System.out.println(temp);
           os.write(charTemp, 0, temp);
       }
 
       os.flush();
       fs.close();
       os.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值