Java-IO

流的概念

1.利用while循环,(只要有数据也就是read()读到的不是-1{一直读})
int b = 0 ; //定义变量,记录read()读到的值。
while((b = in.read())!=-1){//就是一个字节一个字节从获取流中读取数据
System.out.println(b);//打印获取到的数据
}
in.close();//释放资源
2.触发String类型的构造方法,默认是数据覆盖模式
OutputStream out = new FileOutputStream(“地址”);
3.触发(String name,boolean append)类型的构造方法,数据追加模式
OutputStream out = new FileOutputStream(“地址”,true);

字节流

针对二进制文件

字节流读取

抽象类:InputStream
子类:FileInputStream()
子类:BufferedInputStream()
子类:ObjectInputStream()

字节流写出

抽象类:OutputStream
子类:FileOutputStream()
子类:BufferedOutputStream()
子类:ObjectOutputStream()

字符流

针对文本文件。读写容易发生乱码现象,在读写时最好指定编码集”UTF8“.
FileReader不能指定编码格式

字符流读取

抽象类:Reader
子类:InputStreamReader()
子类:FileReader()
子类:BufferedReader()

字符流写出

抽象类:Writter
子类:FileWritter()
子类:OutputStreamWritter()
子类:BufferedWritter()

read()和write(int d)方法

1.FileInputStream()继承自InputStream,其提供了以字节为单位读取文件数据的方法read。
-int read()
从此输入流中读取一个数据字节,若返回-1则表示End Of File

2.FileOutputStream()继承自OutputStream,其提供了以字节为单位向文件写文件数据的方法read。
-void writer(int d)
将指定字节写入此文件的输出流,这里只写给定的int值的”低八位“

read(byte[] d)write(byte[] d)方法

1.FileInputStream也支持批量读取字节数据的方法:int read(byte[] b)
从此输入流中将最多b.length个字节的数据读入到
字节数组b中
2.FileOutputStream也支持批量写出字节数据的方法:void write(byte[] d)
将b.length个字节从指定byte数组写入此文件输出
流中。
-void write(byte[] d,int offset,int len)
将指定byte数组中从偏移量off开始的len个字节
写入此文件输出流。

PrintWriter

1.PrintWriter是具有自动行刷新的缓冲字符输出流。其提供了比较丰富的构造方法。
PrintWriter(File file)
PrintWriter(String fileName)
PrintWriter(OutputStream out)
PrintWriter(OutputStream out,boolean autoFlush)
PrintWriter(Writer writer)
PrintWriter(Writer writer,boolean autoFlush)
其中参数为OutputStream与Writer的构造方法提供了一个可以传入boolean值参数,该参数用于表示
PrintWriter是否具有自动行刷新。

File文件流

File类只用于表示文件(目录)的信息(名称、大小等)不能对文件的内容进行访问。

  1. File(String pathname)
    构造方法:
    File(String pathname)
    通过将给定路径名字符串转换成抽象路径名来创建一个新File实例.
    抽象路径应尽量使用相对路径,并且目录的层级分隔符不要直接写”/“或”",应使用File.separator这个
    常量表示,以避免不同系统带来的差异。
  2. File(File parent, String child)
    根据parent抽象路径名和child路径名字符串创建一个新File实例
  3. isFile()方法
    boolean isFile()
    判断当前file对象是否是一个文件
  4. length0方法
    long length()
    file对象所表示的文件所占的字节量
  5. exists()方法
    boolean exists()
    判断文件或目录是否存在
  6. createNewFile方法
    boolean createNewFile()
    返回值:如果指定的文件不存在并成功地创建,则返回true ;如果指定的文件已经存在,则返回false
  7. delete()方法
    boolean delete()
    删除文件或目录或空文件夹
  8. isDirectory方法
    boolean isDirectory()
    判断当前File表示的是否是一个目录
  9. mkdir()方法
    boolean mkdir()
    创建目录
  10. mkdirs()方法
    boolean mkdirs()
    返回值:当且仅当已创建目录以及所有必需的父目录
    时,返回true ;否则返回false
  11. listFiles()方法
    File的listFiles方法用于返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的子项(文件或目录)。
    File[] listFiles()
    返回值:抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果抽象路径名不表示一个目录或者发生I/O错误,则返回null。
  12. FileFilter接口
    FileFilter用于抽象路径名的过滤器
    此接口的实例可传递给File类的listFiles(File Filter)方法。用于返回满足该过滤器要求的子项。
    File[] listFiles(FileFilter filter)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值