Javaoop File I/O

一、File类访问文件属性

1.File类可以创建对象也可以表示物理文件或目录,通过文件对象的方法可以操作文件或目录的属性

//创建file对象:没有无参构造
File file=new File("yq.txt");

2.File类常用方法

方法名称说明
boolean exists()判断文件或目录是否存在
boolean isFile()判断是否是文件
boolean isDirectory()判断是否是目录
String getPath()返回此对象表示的文件的相对路径名
String getAbsolutePath()返回此对象表示的文件的绝对路径名
String getName()返回此对象表示的文件或目录的名称
boolean delete()删除此对象指定的文件或目录
boolean exists()创建名称的空文件,不创建文件夹
boolean createNewFile()返回文件的长度,单位为字节,若文件不存在,则返回OL

3.代码块举例
(1).创建文件

if (file.exists()==false) {
			try {
				file.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("文件创建成功!");
		} else {
			System.out.println("文件已存在!");
		}

(2).显示文件的相关信息

System.out.println("文件名:"+file.getName());
		System.out.println("相对路径:"+file.getPath());
		System.out.println("绝对路径:"+file.getAbsolutePath());
		System.out.println("文件大小:"+file.length()+"字节");

(3).判断是否是文件

if (file.isFile()) {
			System.out.println("是文件");
		} else {
			System.out.println("不是文件");
		}

(4).判断文件是否隐藏

if (file.isHidden()) {
			System.out.println("隐藏文件");
		} else {
			System.out.println("未隐藏");
		}

(5).删除文件

if (file.exists()==true) {
			file.delete();
			System.out.println("删除成功!");
		} else {
			System.out.println("文件不存在,删除失败!");
		}

(6).创建文件夹和新建文件夹

//创建文件夹
File f=new File("D:\\789\\456");
//新建文件夹
		if (f.exists()==false) {
			f.mkdirs();
			System.out.println("文件夹创建成功!");
		} else {
			System.out.println("文件夹已存在!");
		}

二、流

1.流的定义:流是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道。一个流是一个输入设备或输出设备的抽象表示。
2.流的分类:
(1).按照流的流向进行划分,可以分为输入流和输出流。
​ 输入流:读,将文档的数据读取到程序中的过程。(OutputStream和Writer作为基类)
​ 输出流写,程序中的数据保存到文档中的过程。(InputStream和Reader作为基类)
(2).按照所操作的数据单元的不同,流又可划分字节流和字符流。
​ 字节流操作的最小数据单元为8位的字节。(OutputStream和InputStream作为基类)
​ 字符流操作的最小数据单元为16为的字符。(Writer和Reader作为基类)
3.创建文件输出流对象
(1). 字节输出流OutputStream类的作用是把内存的数据输出到文件中,常用方法如下:

方法名说明
fos write()写入一个字节数据
fos close()关闭输出流

代码块举例:

FileOutputStream fos=null;
		try {
			fos=new FileOutputStream("D:\\ceshi.txt",true);
			//创建数据
			String str="45648184";
			//将字符串转换字节数组
			byte[]b=str.getBytes();
			//调用方法
			fos.write(b);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				fos.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

4.创建文件输入流对象
(1).字节输入流InputStream的作用就是将文件中的数据输入到内部存储器中。常用的方法如下:

方法名说明
fis available()可以返回文件大小
fis read()读入一个字节数据
fis close()关闭输入流

代码块举例:

FileInputStream fis=null;
		try {
			fis=new FileInputStream("D:\\A.txt");
			//输出文件的大小
			System.out.println("文件字节数为:"+fis.available());
			//创建字节数组
			byte [] b=new byte[fis.available()];
			//将数组读入到字节数组中
			fis.read(b);
			//将字节数组重新转成字符串
			String str=new String(b);
			System.out.println(str);
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				fis.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值