java(Day21)----File,I/o流

1.文件:File

1.1概念

File类用于描述文件或文件夹

File类由jdk提供

1.2使用步骤

  1. 创建对象
  2. 调用方法

1.3File的构造函数

File(String Pathname)

  参数:文件或文件夹所在位置

  如:

  File file=new File(“D:\workspace”);

File(URI uri)

  参数:文件或文件夹所在位置

  UR中文名:统一资源表示符

  UR中文名:统一资源定位符

  如:

    URI uri=URI.create(“D:\\workspace”)

File(String parent.String child)

  参数

  Parent:上级文件夹路径

  Child:当前文件夹或文件夹名称

  如:

    New file(“D:”,”workspace”);

File(File parent,String child)

  参数:

Parent:上级文件夹对象

  Child:当前文件夹或文件夹名称

  如:

//file1表示D盘

File file=new File(“D:”);

//file2表示D盘下的workspace文件夹

File file=new File(file1,”workspace”);

注意:

  参数中文件或文件夹的位置可以使用相对路径,也可以使用绝对路径

  相对路径:

相对于当前项目根目录的位置

  绝对路径:

从盘符开始书写,到文件名或者文件夹名结束

  特殊符号:

\:windows下的路径分割符

1.4File属性

Separator:静态属性

  File.separator:当前系统的路径分割符

File的常用方法

CreatNewFile()

  创建文件

Mkdir();

  创建一级文件夹

Mkdirs();

  创建多级文件夹

Delete();

  删除当前文件或空文件夹

  不能删除非空文件夹

  多级路径只能删除最后一级的文件或文件夹(非空文件夹删不了)

Exists();

  判断文件或文件夹是否存在

Length();

  获取文件或文件夹字节数

  文件的字节数时文件中内容的大小

  文件夹字节数为0

getAbsolutePath()

  获取文件或文件夹的绝对路径,返回值为String

getabsoluteFile()

  获取文件或文件夹的绝对路径,返回值为File型

getName()

  获取文件或文件夹名称

getParent()

  获取当前文件的上级文件夹路径

isFile()

  判断file对象对应的是否为文件

isDirectory()

  判断file对象对应的是否为文件夹

listFiles()

  获取当前文件夹下所有的文件夹与文件(不包含子级文件与文件夹)

listFiles(FilenameFilter filter)

listFiles(FileFilter filter)

1.5过滤器

FileFilter:文件过滤器

FilenameFilter:文件名过滤器

2.I/O流

2.1作用

将程序中的数据输出(控制台,文件,网络)

或将别的地方的内容(文件,网络)输入到程序中

总结:传输数据

2.2分类

2.2.1按流向分类

输入流:给程序中输入数据

输出流:将程序中的数据输出到别的地方

2.2..2按传输数据的最小单位分类

字节流:传输最小单位字节(byte)

  可以传递任何一种数据

字符流:传输最小单位字符(char)

  只能传递文本类型的文件

2.2.3按功能分类

节点流:将数据直接读取或直接写入

过滤流:在节点流的基础上增加功能

2.3字节流

2.3.1体系

InputStream:输入字节流的顶级接口

  FileInputStream:文件输入流

  BufferedInputStream:字节缓冲流(输入流)

  ByteArrayInputStream:内存流(输入流)

  ObjectInputStream对象流(输入流)

  

OutputStream:输出字节流的顶级接口

  FileOutputStream:文件输出流

  BufferedOutputStream:字节缓冲流(输出流)

  ByteArrayOutputStream:内存流(输入流)

  ObjectOutputStream对象流(输入流)

2.4InputStream提供的方法

Int read()

  作用:一次最多读取一字节,返回值就是读取到的数据,如果没有读取到数据返回-1;

Int read(byte b[ ])

作用:一次读取一组字节到数组b中,最多一次可以读b数组长度个字节,返回值为读取到的字节长度,值为-1表示结束

Int read(byte b[],int off,int len)

  作用:一次读取一组字节到数组b中,最多可以读取len个长度的字节返回值为读取到的字节长度,值为-1表示结束,off本次读取的字节数据在数组b中存储开始的下标

Void close()

  作用:关流

OutputStream提供的方法

  Void write(int b)

作用:一次输出一个字节

  Void write(byte b[])

作用:将b中的字节一次输出

  Void write(byte b[],int off,int len)

    作用:将b中的字节从off位置开始输出len个

  Void flush

    作用:冲刷

  Void close

   作用:关流

2.5文件字节流

  2.5.1FileInputStream

作用:将指定的文件中的数据读取到程序中

构造函数:

  FileInputStream(String name)

  参数:

  Name:指定的文件路径

  FileInputStream(File file)

  参数:

  File:指定的文件

  2.5.2FileOutputStream

作用:将程序中的数据传递到指定的文件中

构造函数:

FileOutStream(File file)

参数:

file:指定的文件

FileOutputStream(String name)

参数:

Name:指定的文件路径

FilOutputStream(File file,Boolean append)

参数:

File:指定的文件

Append:是否追加,默认值为false;

注意:

  Append为false时,如果指定文件不存在,则新建一级文件夹,如果文件存在,那么删除原有文件后,重新创建

  Append为true时,如果指定文件不存在,则新建一级文件夹,如果文件存在,在原有文件尾部写入新内容

FileoutputStream(String name,Boolean append)

参数:

Name:指定的文件路径

Append:是否追加,默认值为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值