zoukankan      html  css  js  c++  java
  • 字节流的示例代码

     


    read()一次读取一个字节

    • FileInputStream fis = new FileInputStream("aaa.txt");   //创建一个文件输入流对象,并关联aaa.txt
      int b;                                                  //定义变量,记录每次读到的字节
      while((b = fis.read()) != -1) {                         //将每次读到的字节赋值给b并判断是否是-1
          System.out.println(b);                              //打印每一个字节
      }
      
      fis.close();                                            //关闭流释放资源
      

     


    write()一次写出一个字节

    • FileOutputStream fos = new FileOutputStream("bbb.txt"); //如果没有bbb.txt,会创建出一个
      //fos.write(97);                        //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个byte
      fos.write(98);
      fos.write(99);
      fos.close();
      

     


    FileOutputStream的构造方法写出数据如何实现数据的追加写入

    • FileOutputStream fos = new FileOutputStream("bbb.txt",true);    //如果没有bbb.txt,会创建出一个
      //fos.write(97);                        //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个byte
      fos.write(98);
      fos.write(99);
      fos.close();
      

    拷贝图片

    • FileInputStream读取
    • FileOutputStream写出

      Scanner sc = new Scanner(System.in);
      FileOutputStream fos = new FileOutputStream("text.txt");
      System.out.println("请输入:");
      while(true) {
          String line = sc.nextLine();
          if("quit".equals(line))
              break;
          fos.write(line.getBytes());
          fos.write("
      ".getBytes());
      }
      
      fos.close();
      

    字节数组拷贝之available()方法

    FileInputStream fis = new FileInputStream("致青春.mp3");
    FileOutputStream fos = new FileOutputStream("copy.mp3");
    byte[] arr = new byte[fis.available()];                 //根据文件大小做一个字节数组
    fis.read(arr);                                          //将文件上的所有字节读取到数组中
    fos.write(arr);                                         //将数组中的所有字节一次写到了文件上
    fis.close();
    fos.close();
    

    定义小数组的标准格式

    FileInputStream fis = new FileInputStream("致青春.mp3");           //创建文件输入流对象,关联致青春.mp3
    BufferedInputStream bis = new BufferedInputStream(fis);         //创建缓冲区对fis装饰
    FileOutputStream fos = new FileOutputStream("copy.mp3");        //创建输出流对象,关联copy.mp3
    BufferedOutputStream bos = new BufferedOutputStream(fos);       //创建缓冲区对fos装饰
    
    int b;
    while((b = bis.read()) != -1) {     
        bos.write(b);
    }
    
    bis.close();                        //只关装饰后的对象即可
    bos.close();
    

    给图片加密

    BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.jpg"));
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.jpg"));
    
    int b;
    while((b = bis.read()) != -1) {
        bos.write(b ^ 123);
    }
    
    bis.close();
    bos.close();
    

    在控制台录入文件的路径,将文件拷贝到当前项目下

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个文件路径");
    String line = sc.nextLine();                //将键盘录入的文件路径存储在line中
    File file = new File(line);                 //封装成File对象
    FileInputStream fis = new FileInputStream(file);
    FileOutputStream fos = new FileOutputStream(file.getName());
    
    int len;
    byte[] arr = new byte[8192];                //定义缓冲区
    while((len = fis.read(arr)) != -1) {
        fos.write(arr,0,len);
    }
    
    fis.close();
    fos.close();
    
     

    将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出

    Scanner sc = new Scanner(System.in);
    FileOutputStream fos = new FileOutputStream("text.txt");
    System.out.println("请输入:");
    while(true) {
        String line = sc.nextLine();
        if("quit".equals(line))
            break;
        fos.write(line.getBytes());
        fos.write("
    ".getBytes());
    }
    
    fos.close();
    
     
  • 相关阅读:
    视频编码之释——从H.261 到H.264
    bitmap图像介绍
    用搜索引擎搜索我的名字 @_@
    blog标题由来
    ORACLE双机热备安装及物理迁移 for win2000
    审核再次失败
    asp.net学习历程
    痛并快乐着
    开心,blog点击率超过1000
    XP下ASP.NET不能访问ORACLE数据库的解决方案
  • 原文地址:https://www.cnblogs.com/loaderman/p/6407649.html
Copyright © 2011-2022 走看看