zoukankan      html  css  js  c++  java
  • 复习六(File文件流)

    流是指一连串流动的字符以先进先出的原则传送信息的通道

    IO流是指输入输出流

    在文件流中信息会被转成 二进制(1字节8位)或 字符(unicode编码2字节)

    流的分类:

      1.按照流向分:

            输出流:OutputStream 和 Writer

            输入流:InputStream 和 Reacer

      2.按照数据处理方式分:

            字节流:byte

            字符流:char

      InputStream/OutputStream 属于字节流不支持汉字

      Reacer/Writer 属于字符流支持汉字

    File的方法:

      File file=new File("文件路径")

      file.exists() :判断文件是否存在

      file.createNewFile() :创建文件

      file.getName() :获得文件名称

      file.getPath() :获得文件相对路径

      file.parent() :获得文件上一层路径

      file.length() :获得文件长度

      file.getAbsoutePath() :获得文件完整路径

      file.isPirectory() :判断是否是文件夹

      file.delete() :删除文件(成功返回true)

    使用流读取文件内容:

    //1.创建流对象
    FileInputStream ins=new FileInputStream(”文件地址“);
    
    //2.将读到的内容放入byte数组中
    byte[] bytes=ins.read();//读到的内容是ASII码 没有内容返回-1
    
    //3.将byte数组转换为String
    String s=new String(bytes);
    
    //4.关闭流
    ins.close()
    
    字符流和字节流的使用方法相同只是将byte数组换成了char数组

    使用流写入内容:

    //1.创建流
    FileOutputStream ops=new FileOutPutStream("文件路径")//如果没有这个文件会自动创建一个
    //2.创建写入的内容
    String s="内容"//3.将String的内容转换为Byte数组写入文件
    ops.write(s.getBytes());
    //4.关闭流
    ops.close()

    使用流复制文件:

    //1.创建输入流和输出流
    FileInputStream ins=new FileInputStream("原文件文件地址")
    
    FileOutputStream ops=new FileOutputStream("新文件地址")
    
    //2.定义一个存储信息的数组
     byte[]  bytes= new byte[文件长度];
    
    //3.将读取到的内容放入数组
    for(int i=0;i<butes.length;i++){
        bytes[i]=ins.read();
    }
    
    //4.写出
    ops.write(bytes);
        
    //5.关闭流
    ops.close()
    ins.close();

    必须关闭流或加一个冲刷缓冲区outputStream.flush()不然内容会存放于缓冲区内写不出去报错
  • 相关阅读:
    了解Whitehorse
    更新排行榜说明
    一个从Microsoft Word发表Blog文章的工具
    首页"进入我的博客"可以正常使用了
    ADO.NET: Close()与Dispose() 的讨论
    向大家致歉
    折腾了我一个下午及吃晚饭时间的问题
    [转帖]ASP.NET服务器端异步Web方法
    关于增加“收藏”功能的设想
    Mono 0.30发布了
  • 原文地址:https://www.cnblogs.com/HQ0422/p/12005381.html
Copyright © 2011-2022 走看看