java中file类和IO流的定义以及使用

File类概述:1.File:翻译是文件,用于表达java中的路径名。2.路径:用于表示文件或者文件夹在当前系统中的位置3.路径的分类:绝对路径,没有任何的歧义,也没有任何的前提条件,Windows,从盘符开始的路径,例如"D:/a/b/c/d/a.txt"相对路径,相对于某个文件的路径。构造方法:1.File(String path)将一个字符串描述的路径,封装成一个 File对象。2.File(String parent,String Child)将两个字符串(父级路径, 子级路径
摘要由CSDN通过智能技术生成

File类

概述:

1.File:翻译是文件,用于表达java中的路径名。
2.路径:用于表示文件或者文件夹在当前系统中的位置
3.路径的分类:

绝对路径,没有任何的歧义,也没有任何的前提条件,Windows,从盘符开始的路径,例如"D:/a/b/c/d/a.txt"
相对路径,相对于某个文件的路径。

构造方法:

1.File(String path)
将一个字符串描述的路径,封装成一个 File对象。
2.File(String parent,String Child)
将两个字符串(父级路径, 子级路径),拼接之后形成的路径封装成一个File对象。
3.File(File parent, String child)
将File类型的父级路径和String类型的字节路径拼接成一个新路径,封装成File对象

注意:
创建好File对象后,只是封装了一个路径, 和磁盘上是否有这个路径无关。

创建功能

1、说明:
最终创建出来的是一个文件还是文件夹,不取决于路径名称
取决于调用的什么方法去创建
2、创建文件:

createNewFile()

3、创建文件夹:

mkdir()
 	创建文件夹,如果父级路径不存在,则文件夹创建失败
mkdirs()
 	创建文件夹,如果父级路径不存在,则自动创建父级路径,再创建子级路径

练习:在D盘下的a/b/c/d文件夹中创建一个HelloWorld.txt。

package File类;

import java.io.File;
import java.io.IOException;

public class Test01 {
    public static void main(String[] args) throws IOException {
        File f = new File("D:/a/b/c/d");
        f.mkdirs();

        File ff = new File(f,"HelloWorld.txt");
        ff.createNewFile();
    }
}

在这里插入图片描述

删除:

1、方法名称:

delete()

2、既可以删除文件,也可以删除文件夹
3、注意事项:
1、删除的时候不走回收站,直接删除
2、不能删除非空文件夹

重命名的功能

1、方法名称

renameTo(File dest)

2、注意事项:

1、方法的调用者,是一个File对象,方法的参数是另外一个File对象
2、调用者是当前修改之前的路径对象,参数是要修改为的路径对象
3、如果改了父级路径,就是剪切,如果不改父级路径就是重命名
示例代码

import java.io.File;

public class Demo05_File的重命名功能 {
	public static void main(String[] args) {
		File ori = new File("x/a.txt");
		File dest = new File("a/b/c/a.txt");
		
		ori.renameTo(dest);
		
		File f = new File("a/b/c/f.txt");
		dest.renameTo(f);
	}
}

判断功能

1、exists(),判断调用者路径是否存在
2、isFile(),判断调用者是否是一个文件
3、isDirectory(),判断调用者是否是一个文件夹

示例代码:

import java.io.File;

public class Demo06_File的判断功能 {
	public static void main(String[] args) {
		File a = new File("a");
		System.out.println(a.exists());
		System.out.println(a.isFile());
		System.out.println(a.isDirectory());
	}
}

获取功能

1、获取路径三个方法:

getName()
 	获取最短的那个文件或者文件夹名称
getPath()
 	获取相对路径,构造方法中传入的那个字符串
getAbsolutePath()
 	获取绝对路径

2、获取文件或者文件夹属性的方法

length()
 	获取文件的字节个数
 	只能针对文件使用,不能针对文件夹使用
lastModified()
 	获取文件的最后修改时间

3、获取文件夹中内容的方法

String[] list()
 	返回文件夹中的所有内容的名称(不包含子文件夹中的内容)
File[] listFiles()
 	返回文件夹中的所有内容的File对象(不包含子文件夹中的内容)
注意事项:
 	这两个方法只能针对文件夹使用,不能针对文件使用

练习:定义一个方法:键盘录入一个字符串,表示一个文件夹路径,如果不是文件夹路径则提示重新录入

package File类;

import java.io.File;
import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true){
            String path = sc.next();
            File f = new File(path);
            if (f.isDirectory()&&f.exists()){
                System.out.println("录入成功");
                break;
            }else {
                System.out.println("请重新录入");
            }
        }
    }
}

IO流

介绍

1、IO:I/O,Input/Output,输入/输出
这是根据流向来进行描述的方式,究竟是输入还是输出,站在内存的角度看待问题。所有从其他设备到内存的过程,称为“输入”;所有从内存到其他设备的过程,称为“输出”。

2、java中操作输入输出使用的都是流对象,都是在io包中的类。

IO分类

1、IO流有非常多,非常复杂庞大的一个体系,需要对这些类型进行分类,分类方式有两种:按照流向分类;按照能处理的数据的类型分类
2、按照流向:

输入流
输出流

3、按照操作数据:

字节流:可以直接操作字节数据(byte数据)的流对象
字符流:可以直接操作字符数据(char数据)的流对象

4、四种顶层抽象父类:

字节流:
字节输入流ÿ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值