IO 使用说明介绍

在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在,通过exists判断; 在文本文件操作流构造的时候还可指定编码方式;

File f;

f.exists();

f.isDirectory();

f.isFile();

f.deleteOnExit();// 在程序退出的时候将指定文件删除;

f.createNewFile();// 在指定位置创建文件,如果文件已经存在,则返回false;

f.getParent();//此方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回Null,如果相对路径中有上一层目录则返回该目录;

 

File.separator //文件系统分割符,不同系统分割符不同;

FilenameFilter://用于过滤文件名;

FilenameFilter.accept(File dir,String name); //测试指定文件是否包含在某一文件列表中;

name:文件的名称;

public boolean accept(File dir, String name) {     return name.endsWith(".txt");    }

 

//缓冲区的出现是为了提高流的操作效率而出现的;在创建缓冲区之前,必须要有流对象;

//缓冲技术其实是在对象内部封闭了数组,存完了之后一次性写入;

Constructor: 将流传入buffer的构造函数;

Notice:只要用到缓冲区,就得对缓冲区进行刷新;

Buffered... buf;

buf.flush();

buf.close();//关闭缓冲区就是关闭缓冲区中的流对象;

BufferedReader bufr;

bufr.readLine();//返回一行,但不包含换行符;

// 无论读取一行还是多个字符,其实最终都是在硬盘上一个一个的读取,所以最终使用的方法还是read方法一次读一个

/*  

* ByteArrayInputStream:在构造的时候,需要接收数据源,而且数据源为字节数组;  

* ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为内部定义了一个可变长度的字节数组,它就是数据目的地;  

* 两个流对象都操作的是数组,并没有使用系统资源,不需要进行关闭的操作;  

*/

// 关闭流资源之前会刷新一次内部缓冲区中的数据;

// flush();刷新(将缓冲区中的数据存入文件中)后,流继续使用;

// 序列化:静态的成员不能序列化;

// 如果不想让非静态成员被序列化,加修饰符:transient int,,,

System.in:InputStream

System.out:OutputStream

你可能感兴趣的:(IO 使用说明介绍)