Java输入与输出(1)

Java输入与输出(1)

1、File类

1.1、File类定义
  1. File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类。=

  2. File类的包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较。

  3. File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。

  4. File类代表一个特定的文件或者目录(文件夹),并提供了若干方法对该文件或目录进行操作。

重点词需记:file(文件),directory(文件夹),path(路径)

1.2、File类构造方法(常用摘要)

1)File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

public class Test2 
 public static void main(String[] args){
     File file=new File("xxx");
    System.out.println(file.getPath());  //路径结果就是xxx
	}
}

2)File(File parent, String child):通过parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

若子路径child为Null,会抛出NullPointerException空异常错误
当父路径为Null时,会以子路径child作为绝对路径创建实例,等同于调用第一个File(String child )效果一样

public class Test2{
 public static void main(String[] args){
    String parent=null;
 	File file=new File(parent,"xxx");
	System.out.println(file.getPath());  //路径结果就是xxx
	}
}

当父路径不为空时,会以父路径作为目录,子路径作为父路径下的目录或者文件名,最后得到的实例对象的路径就是父路径和子路径的组合

public class Test2{
    public static void main(String[] args){
    String parent = "E:/test";
    File parentFile= new File(parent);
    String child = "E:/test/1.txt";
    File file = new File(parentFile, child);
    System.out.println(file.getPath()); // 路径结果就是E:\test\E:\test\1.txt
		}
    }

3)File(String parent, String child):通过parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

public class Test2{
    public static void main(String[] args){
        String parent = "E:/test";
        File parentFile= new File(parent);
        String child = "E:/test/1.txt";
        File file = new File(parentFile, child);
        System.out.println(file.getPath()); // 路径结果就是E:\test\E:\test\1.txt
    }
}
1.3、主要成员方法

1)获取的方法 (方法摘要)

String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串。

String getName()

返回由此抽象路径名表示的文件或目录的名称。

String getPath()

将此抽象路径名转换为一个路径名字符串。

long length()

返回由此抽象路径名表示的文件的长度。

//获取文件绝对路径
private static void show04() {
     File file=new File("F:\\04Java\\19java");
     File absoluteFile=file.getAbsoluteFile();//返回File对象的绝对路径
     System.out.println(absoluteFile);
     File file2=new File("a.txt");
     File absoluteFile2=file2.getAbsoluteFile();//返回File对象的绝对路径
     System.out.println(absoluteFile2);
     System.out.println("____________________________");
}
//file1.getName()  获取最后一个路径名
private static void show02(){
     File file=new File("F:\\04Java\\19java");
     String name=file.getName();//最后的路径名
     System.out.println(name);
 
     File file1=new File("F:\\04Java\\19java\\小小张自由");
     String name1=file1.getName();//最后的路径名
     System.out.println(name1);
}
//file.getPath()  构造函数中传递什么值,就返回什么值
private static void show01(){
     File file=new File("F:\\04Java\\19java");
     String path=file.getPath();//传递的参数是什么,返回值就是什么
     System.out.println(path);
     File file1=new File("b.txt");
     String path1=file1.getPath();
     System.out.println(path1);
}
 //file.length() 获取文件的大小
private static void show03(){
     File file=new File("F:\\迅雷下载\\AirtestIDE-win-1.2.6.zip");
     long length=file.length();//文件名的大小,路径错误则为0
     System.out.println(length);//单位字节
}

2)判断的方法(方法摘要)
boolean exists()
测试此抽象路径名表示的文件或目录是否存在
boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。

//用于判断构造函数中给定的路径是否为目录、文件
public static void main(String[] args){
	File file = new File("F:\\04Java\\19java");
	System.out.println(file.exists());//判断文件名是否存在
	System.out.println(file.isDirectory());//判断是否以文件夹结尾
	System.out.println(file.isFile());//判断是否以文件结尾
}

3)创建删除的方法(方法摘要)
boolean createNewFile()
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
boolean delete()
删除此抽象路径名表示的文件或目录。
boolean mkdir()
创建此抽象路径名指定的目录。
boolean mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

//File类中CreateNewFile()方法只能新建文件,创建成功true
private static void show01()throws IOException{
    File file=new File("F:\\04Java\\19java\\99.txt");
    boolean newFile=file.createNewFile();//只能新建文件,创建成功true
    System.out.println(newFile);
}
//File类中Delete()方法
private static void show03(){
    File file=new File("F:\\04Java\\19java\\HelloJava");
    boolean delete=file.delete();//可以删除文件夹只能是空文件夹
    System.out.println(delete);
 
    File file1=new File("F:\\04Java\\19java\\99.txt");
    boolean delete1=file1.delete();//可以删除文件
    System.out.println(delete1);
    }
//File类中mkdir()和mkdirs()的方法创建单级、多级目录
private static void show02(){
    File file=new File("F:\\04Java\\19java\\HelloJava");
    boolean mkdir=file.mkdir();//创建单级目录
    System.out.println(mkdir);
    File file1=new File("F:\\04Java\\19java\\Hello\\Java");
    boolean mkdirs=file1.mkdirs();//创建多级目录
    System.out.println(mkdirs);
}

4)目录的遍历(方法摘要)

String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

  1. 当实例对象代表的是文件不是目录时,返回NUll对象

  2. 获取的是该目录下的文件名和目录名,并不包含该目录名称和其上级目录名称

  3. 字符串数组中都是文件名或目录名并不是路径名

  4. 字符串中的元素并不是按照实际系统中目录下的顺序排列的

File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

//file.listFiles();方法返回值是一个File[]
private static void show02(){
    File file=new File("F:\\04Java\\19java");
    File[]files=file.listFiles();
    for(File file1:files){
        System.out.println(file1);
    }
}
 
//file.list();方法返回值是一个String[]
private static void show01(){
    File file=new File("F:\\04Java\\19java");
    String[] list=file.list();
    System.out.println(list);//地址值
    for(String i:list){
        System.out.println(i);
    }
}

注意:构造函数只是创建一个File实例,并没有以文件做读取等操作,因此路径即使是错误的,也可以创建实例不报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值