• IO操作


    1、File类

      代表操作系统的文件对象;

      1.1 构造器

    #根据一个路径获得File对象
    File (String pathname);
    
    #根据一个目录和子文件/目录获得实例
    File(String parent,String child );
    
    #根据一个父File实例和子路径获得实例
    File(File parent ,String child );

      1.2 常用方法

    #分隔符属性
    static final String separator
    #创建功能
    Boolean mkdirs( );创建文件夹,如果父文件夹不存在就一起创建
    boolean createNewFile( );创建文件
    
    #删除功能
    Boolean delete( )
    
    #重命名或剪切
    Boolean renameTo(File dest);
    
    #判断功能
    Boolean isDirectory( );
    boolean isFile( );
    boolean exists( );
    boolean canRead( );
    boolean canWrite( );
    boolean isHidden( );
    
    #基本获取功能
    String getAbsolutePath( );
    String getPath( );//获取相对路径
    String getName( );
    long length( );
    long lastModified( );
    
    #高级获取功能
    String[ ] list( );//获取指定路径下的名称数组
    File[ ] listFiles( );

      1.3 注意事项

        如果你创建文件或者文件夹忘了写盘符路径,默认是项目根目录;

        Java中的删除不走回收站;

        删除文件夹,文件夹不能有内容;

    2、IO流

      输入输出均是相对于内存的操作;

      2.1 字节流:万能,不懂就用它

        输入流:InputStream;

          实现子类:FileInputStream

        输出流:OutputStream;

          实现子类:FileOutputStream

      2.2 字符流:为了方便操作文本内容

        输入流:Reader;

          实现子类:InputStreamReader( )

        输出流:Writer;

          实现子类:OuputStreamWriter(OutputStream out )

      2.3 序列化流:可以把对象写入文本文件或者在网络中传输

        ObjectOutputStream;只有输出流,输入就用字节流或者字符流;

        如何实现序列化:

          让被序列化的对象所属类实现序列化接口(Serializable);

        如何不被序列化:

          transient(标记不被序列化);

        注意问题:

          把数据写到文件后,再去修改类会产生一个问题;

          如何解决呢?

            在类文件中,给出一个固定的序列化id值;而且,这样也可以解决黄色警告先问题;

      2.4 Properties

        属性集合类,是一个可以和IO流相结合的类;

        可保持再流中或从流中加载。属性列表中每个键及其对应值都是一个字符串;

    #把文件中的数据读取到集合中
    load();
    
    #把集合中的数据存储到文件中
    store();

      2.5 其它流

        随机访问流:RandomAccessFile类不属于流,是Object的子类。但它融合了InputStream和OutputStream的功能。支持对文件的随机访问读取和写入;

        合并流:SequenceInputStream 表示其他输入流的串流;

        内存操作流:用于处理临时存储信息的,程序结束,数据就从内存中消失;ByteArrayXXXXX,CharArrayXXXX

    3、NIO流

      新IO,JDK1.4出现,提高了IO流操作效率。

      Interface Path:路径;

      Class Paths:静态方法返回一个 Path通过转换路径字符串或 URI;

      java.nio.file.Files:提供了静态方法供我们使用

    long copy () //返回内容大小
    string probeContentType(); //获取文件类型
    Path createDirectories(); //创建所有目录
    Path createDirectorie() ;//创建一个目录,父目录不存在就报错
    boolean deleteIfExists ();
    boolean exists ();
    Path createFile();
  • 相关阅读:
    浏览网页时看到一个把字符串偶数位转化为大写字母的问题,小小白也来班门弄斧尝试一下。
    MFC的连续存储 永久保存(串行化)两篇
    MFC打印和打印预览功能
    桌面linux系统和嵌入式linux系统的不同点
    Ubuntu 和linux的关系
    YUV YPbPr YCbCr CCIR 601 CCIR 656
    推荐几个学习linux的国外著名论坛网站
    使Android开发方便快捷的8个好工具
    VMware网络配置详解
    DSP 定点小数运算
  • 原文地址:https://www.cnblogs.com/xp2h/p/12519812.html
Copyright © 2020-2023  润新知