zoukankan      html  css  js  c++  java
  • IO流-字节流File读写操作

    package com.yyq;
    import java.io.*;
    import java.util.concurrent.SynchronousQueue;
    /*
     * 字符流: 
     *         FileReader
     *      FileWriter        主要学习了这四个
     *      BufferedReader
     *      BufferedWriter
     *      LineNumberReader
     * 字节流
     *         需求: 想要操作图片数据。这是就要用到字节流
     *         所以要操作文件对象
     *             InputStream OutpuStream(写)
     */
    public class FileDemo {
        public static void main(String[] args) throws Exception {
            readFile_3();
        }
        public static void readFile_1() throws IOException{
            FileInputStream fis = new FileInputStream("1.jpg");
            int ch = 0;
            while((ch=fis.read())!=-1){
                System.out.println((char)ch);
            }
        }
        public static void readFile_2() throws IOException{
            FileInputStream fis = new FileInputStream("1.jpg");
            byte[] buf = new byte[1024];
            int num = 0; 
            while((fis.read(buf))!=-1){
                System.out.println(buf);
            }
        }
        // 第三种方式要慎用,这种方式,可能内存异常
        public static void readFile_3() throws IOException{
            FileInputStream fis = new FileInputStream("1.txt");
            
            // 定义一个刚刚好的缓冲区,不需要在循环了
            // 字节流可以操作很多多媒体文件,虚拟机默认是64M
            
            byte[] buf = new byte[fis.available()];
            fis.read(buf);
        //    System.out.println(new String(buf));
        }
        public static void writeFile() throws Exception{
            FileOutputStream fos = new FileOutputStream("fos.txt");
            // 将字符串转化成字节数组
            fos.write("aaa".getBytes());
            // 没刷新,没关闭,字符流走的是字节,把字节临时存储,之后去查表
            // 字符流底层也是使用的字节流的缓冲区,所以字符流需要刷新
            // 字节流是不需要刷新的。缓冲区之后才涉及到刷新操作
            //fos.flush();
            fos.close();
        }
    }
  • 相关阅读:
    mouseover和mouseenter的区别 mouseenter不会冒泡,mouseleave不会冒泡;
    2021年1月24日 命令按钮控件Button 和 单选按钮控件RadioButton 和复选框按钮
    2021年1月23日 文本框控件
    2021年1月21日 画了个注册的界面
    2021年1月29日 体温上报app03
    2021年1月18日 activity的三种状态
    2021年1月16日 秒表app
    2021年1月15日 界面跳转
    1.CSS知识点——css的引入方式
    面试题 315
  • 原文地址:https://www.cnblogs.com/yangyongqian/p/5153181.html
Copyright © 2011-2022 走看看