2021-06-06

本文详细介绍了Java中的File类,包括构造方法和常用方法的使用,如创建文件和目录、删除文件和目录、判断文件或目录的存在以及获取文件大小等。此外,还展示了如何进行文件遍历。File类是一个与操作系统无关的类,提供了跨平台的文件操作能力。
摘要由CSDN通过智能技术生成

JAVA20
File类
1、它是文件和目录路径名的抽象表示
2、文件和目录是可以通过File封装成对象的
3、对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
1构造方法
public File(String pathnane):通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
pubtic File(String parent, String child):从父路径名字符串和子路径名宁符串创建新的 Fle实例
public File(File pajgnt, String child)”:从父抽象路径名和子路径名字符串创建新的 Hle实例
常用方法
public String getAbsolutepathO :返回此File的绝对路径名字符串中,
public String getpathC):将此File转换为路径名字符串。
public String getNegO:返回由此File表示的文件或自录的名称。
public long 1ength():返回由此File表示的文件的长度

file类:
创建一个文件夹、文件
删除一个文件、文件夹
获取文件、文件夹
判断文件或者文件夹
对文件进行遍历
获取文件大小
file 是一个与操作系统无关的类
记住三个单词:
file:文件
directory:目录、文件夹
path:路径

package Demo01;

import java.io.File;
import java.io.IOException;
/*

  • file类:

  • 创建一个文件夹、文件

  • 删除一个文件、文件夹

  • 获取文件、文件夹

  • 判断文件或者文件夹

  • 对文件进行遍历

  • 获取文件大小

  • file 是一个与操作系统无关的类

  • 记住三个单词:

  • file:文件

  • directory:目录、文件夹

  • path:路径
    */
    public class Demo01File {
    public static void main(String[] args) throws IOException {

     //路径分隔符
     String pathSeparator=File.pathSeparator;
     System.out.println(pathSeparator);// Windows 是分号;linux :冒号
     
     String  Separator=File.pathSeparator;
     System.out.println(pathSeparator);//文件名称分隔符 \   linux: /root/home/
     //   绝对路径C:\User\admin\
     //   相对路径../../
     //构造方法演示
     //show01();
     //show02("D:\\rxp\\java\\test");
     //show03("");
     //常用方法演示
     //show04("");
     //show05("");
     show06("");
     show07("");
     show08("");
     //show09("");
     //show10("");
     //show11("");
     show12("");
    

    }

    private static void show12(String String) {
    //如果路径不存在,直接返回false
    File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
    boolean b1=f1.delete();
    System.out.println(b1);
    //直接从硬盘删除,不会进入回收站
    File f2=new File(“rxp\1\2\33\44”);//相对路径,会自动补齐D:\rxp\java\20\day20_code\
    boolean b2=f2.delete();
    System.out.println(b2);
    }

    private static void show11(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
    boolean b1=f1.mkdir();//
    System.out.println(b1);

     File f2=new File("D:\\rxp\\java\\20\\day20_code\\rxp\\1\\2\\33\\44\\hello.java");
     boolean b2=f2.mkdir();//递归创建文件夹
     System.out.println(b2);
    

    }

    private static void show10(String String) throws IOException {
    File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
    boolean b1=f1.createNewFile();
    System.out.println(b1);
    //第二次执行返回false因为false文件存在

     File f2=new File("D:\\rxp\\java\\20\\day20_code\\新建文件夹");
     //不要看文件名字,必须看类型
     boolean b2=f2.createNewFile();
     System.out.println(b2);
    

    }

    private static void show09(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code”);
    if(f1.exists()) {//返回true,进入if语句
    System.out.println(f1.isDirectory());//
    System.out.println(f1.isFile());
    }
    System.out.println("=============");
    File f2=new File(“D:\rxp\java\20\day20_code\classfive”);
    if (f2.exists()) {//不存在返回false 所以不会进入if语句
    System.out.println(f2.isDirectory());
    System.out.println(f2.isFile());

    }
    System.out.println("=============");
    File f3=new File(“D:\rxp\java\20\day20_code\classfive”);
    if (f2.exists()) {
    System.out.println(f3.isDirectory());
    System.out.println(f3.isFile());

    }
    }
    private static void show08(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code”);
    System.out.println(f1.exists());//true

     File f2=new File("D:\\rxp\\java\\20\\day20_code\\classfive");
     System.out.println(f2.exists());//false
     
     File f3=new File("D:\\rxp\\java\\20\\day20_code\\classfive");
     System.out.println(f3.exists());//
    

    }

    private static void show07(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code”);
    System.out.println(f1.length());
    //文件夹大小0
    File f2=new File(“D:\rxp\java\20\day20_code\classfive”);
    System.out.println(f2.length());
    //不存在的文件夹,文件夹大小0
    File f3=new File(“D:\rxp\java\20\day20_code\classfive”);
    System.out.println(f3.length());
    //最后为文件的情况,文件夹存在,打印文件大小
    File f4=new File(“D:\rxp\java\20\day20_code\classpath”);
    System.out.println(f4.length());
    //最后为文件的情况,文件夹存在,打印文件大小

    }

    private static void show06(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
    File f2=new File(“D:\rxp\java\20\day20_code”);
    //获取的是构造方法传递路径结尾部分
    System.out.println(f1.getName());
    System.out.println(f2.getName());
    }

    private static void show05(String String) {
    File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
    File f2=new File(“a.txt”);

     String path1=f1.getPath();
     System.out.println(path1);
     
     System.out.println(f2.getPath());
     
     System.out.println(f1);
     System.out.println(f1.toString());
    

    }

    private static void show04(String String) {
    File f1=new File(“D:\rxp\java\test\hello.java”);
    String absolutepath1=f1.getAbsolutePath();
    System.out.println(absolutepath1);

     File f2=new File("D:\\rxp\\java\\test\\hello.java");//相对路径创建
     //创建时候,放在项目路径下面
     String  absolutepath2=f2.getAbsolutePath();
     System.out.println(absolutepath1);//获取绝对路径
    

    }

    private static void show03(String String) {
    File parent=new File(“D:\rxp\java\test”);
    File f1=new File(parent,“hello.java”);
    System.out.println(f1);

    }

    private static void show02(String parent,String child) {
    File f1=new File(parent,child);
    System.out.println(f1);

    }

    private static void show01(String String) {

     File f1=new File("D:\\rxp\\java\\test");
     System.out.println(f1);
     //仅仅是创建File这个对象,不会检验路径正确与否
     File f2=new File("D:\\\\rxp\\\\java\\\\test\\a.txt");
     System.out.println(f2);
     
     File f3=new File("b.txt");
     System.out.println(f3);
    

    }

}
*构造方法作用;
*1.创建一个FileOutputStream对象
*2.根据构造方法传递文件/文件路径,创建空文件
*3.java->jvm(虚拟机)->os->会调用的驱动->把数据写入文件
package Demo02;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
*构造方法作用;
*1.创建一个FileOutputStream对象
*2.根据构造方法传递文件/文件路径,创建空文件
*3.
*java->jvm(虚拟机)->os->会调用的驱动->把数据写入文件
*/
public class Demo02OutputStrean {
public static void main(String[] args) throws IOException {
//创建一个FileOutputStream对象,构造方法传入数据目的地
FileOutputStream fos=new FileOutputStream(“a.txt”);
//调用write方法,将数据写入文件中
// fos.write(97);//
//fos.write(98);
//fos.write(99);
//释放资源
//fos.write(100);//错误写法

   //fos.write(49);
 //fos.write(48);
 //fos.write(48);
   
   
   byte[] bytes= {-65,66,-67,68};
   fos.write(bytes);//会被当成中文来解释
   fos.close();

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值