zoukankan      html  css  js  c++  java
  • IO操作

    作用:读写设备上数据、硬盘文件、内存、键盘、网络等。

    分类:

      数据走向:输入流、输出流

      数据类型:字符流(文本数据Reader或者Writer结尾)  

           字节流(所有类型Stream结尾)

      1个字节 = 8位二进制  字节是存储信息单位,计量单位

      字符:抽象的一个符号

      字符集:编码,ANSI编码标准

      字节流->字符

      FileInputStream fis = new FileInputStream("text.txt");

      byte inpyt[] = new byte[21];

      fis.read(input);

      String inputString = new String(input,"UTF-8");

      fis.close();

      字符->字节流

      FileOutputStream fos = new FileOutputStream("text.txt");

      String outString = "";

      byte output[] = outString.getBytes("UTF-8");

      fos.write(output);

      fos.close();

      文件拷贝:

      FileInputStream fis = new FileInputStream("a.gif");

      FileOutputStream fos = new FileOutputStream("b.gif");

      byte input[] = new byte[50];

      while(fis.read(input)!=-1){fos.write(input);}

      fis.close();

      fos.close();

      缓冲区加速度:

      FileInputStream fis = new FileInputStream("");

      BufferedInputStream bis = new BufferedInputStream(fis);

      FileOutputStream fos = new FileOutputStream("");

      BufferedOutputStream bos = new BufferedOutputStream(fos);

      byte input[] = new byte[100];

      while(bis.read(input)!=-1){bos.write(input);}

      bis.close();

      fis.close();

      bos.close();

      fos.close();

      系统时间返回的是1970年到现在的毫秒数。

      优化速度:1、缓冲区大小。2、字节数组的大小。

      

      使用字符流:

      FileInputStream fis = new FileInputStream("");

      InputStreamReader isr = new InputStreamReader(fis,"UTF-8");

      FileOutputStream fos = new FileOutputStream("");

      OutputStreamWriter osw=new OutputStreamWriter(fos);

      char input[] = new char[100];

      while(isr.read(input)!=-1){int l=0;while((l=isr.read(input))!=-1){osw.write(input,0,l)}}

      osw.close();

      fos.close();

      isr.close();

      fis.close();

      字符流缓冲:

      FileInputStream fis = new FileInputStream("");

      InputStreamReader isr = new InputStreamReader(fis,"UTF-8");

      BufferedReader br = new BufferedReader(isr);

      FileOutputStream fos = new FileOutputStream("");

      OutputStreamWriter osw=new OutputStreamWriter(fos);  //PrintWriter换行输出

      BufferedWriter bw = new BufferedWriter(osw);

      char input[] = new char[100];

      while(input = br.readLine!=null){br.write(input);}

      br.close();

      bw.flush();

      bw.close();

      osw.close();

      fos.close();

      isr.close();

      fis.close();

      文件的读写(纯文本):

      FileReader fr = new FileReader("");

      BufferedReader br = new BufferedReader(fr);

      RandomAccessFile:

      RandomAccessFile raf = new RandomAccessFile(file,"rw");

      raf.seek((block-1)*l);->指针

      raf.write();

     

      FileUtiles对file的操作特别方便:

      File fie = new File("");

      String input  = FileUtiles.readFileToString(file,"");

      FileUtiles.copyFile(file1,file2); 

      

  • 相关阅读:
    【转】iPython入门技巧
    Python——IPython和NumPy
    Python——类与对象,异常处理
    Python——函数,模块,简单文件读写
    给对象的key 设置成变量
    antd 表单validateFields validateFieldsAndScroll方法不执行
    css 设置禁用
    where与having区别
    重温robotframework--day1
    Linux下查看文件内容的命令
  • 原文地址:https://www.cnblogs.com/hzwcoming/p/4655376.html
Copyright © 2011-2022 走看看