File类(二)


判断功能

  • public boolean exists(); 此File表示文件或目录是否实际存在
  • public boolean isDirectyry(); 此File表示的是否是目录
  • public boolean isFile(); 此File表示的是否是文件
    注意:
    1. public boolean isDirectyry(); 用于判断构造方法中给定的路径是否以文件夹结尾
    2. public boolean isFile(); 用于判断构造方法中给定的路径是否以文件结尾
    3. 电脑的硬盘中只有文件和文件夹,两个方法是互斥
    4. 这两个方法是前提,路径必须是存在的,否则都返回false

1.public boolean exists(); 此File表示文件或目录是否实际存在

         File f=new File("c;\\user\\a.txt");
         System.out.println(f.exists());//  存在返回true,反之false

2.public boolean isDirectyry(); 此File表示的是否是目录

         File f=new File("c;\\user\\name");
         if(f.exists){//先判断文件或目录是否实际存在
         System.out.println(f.isDirectyry()); //true
          System.out.println(f.isFile);//false
         }

3.public boolean isFile(); 此File表示的是否是文件

        File f=new File("c;\\user\\name\\a.txt");
         if(f.exists){//先判断文件或目录是否实际存在
         System.out.println(f.isDirectyry()); //false
          System.out.println(f.isFile);//true
         }

创建和删除方法

  • public boolean createNewFile();当且仅当具有该名称的文件尚不存在时,创建一个新的空文件
  • public boolean delete();删除由此File表示的文件或文件夹
  • public boolean mkdir();创建由此File表示的目录
  • public boolean mkdirs();

1.public boolean createNewFile();当且仅当具有该名称的文件尚不存在时,创建一个新的空文件
创建文件的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件不存在,创建文件,返回true
false:文件存在,不会创建,返回false
注意:
1.此方法只能创建文件,不能创建文件夹
2.创建文件的路径必须存在,否则会抛出异常
3. public boolean createNewFile() throws IOException
createNewFile声明抛出了IOException,我们调用这个方法,就必须处理异常,要么throws或try catch

     File f=new File("c:\\User\\test\\1.txt);//绝对路径
     System.out.println(f.createNewFile());
     File f2=new File("2.txt");//相对路径     
     System.out.println(f2.createNewFile());

2.public boolean mkdir();创建单级空文件夹
public boolean mkdirs();既可以创建单极空文件夹,也可以创建多级文件夹
创建文件夹的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件夹不存在,创建文件夹,返回true
false:文件夹存在,不会创建,返回false,构造方法中给出的路径不存在返回false
注意:
1.此方法只能创建文件夹,不能创建文件

      File f=new File("c:\\User\\test\\aaa");//创建单级文件夹
      System.out.println(f.mkdir());
       
      File f=new File("c:\\User\\test\\111\\2222\\333");//创建单级文件夹
      System.out.println(f.mkdirs());

3.public boolean delete();删除由此File表示的文件或文件夹
此方法,可以删除构造方法路径中给出的文件/文件夹
返回值:布尔值
true:文件/文件夹删除成功,
false:文件夹中有内容,不会删除返回false,构造方法中路径不存在
注意:
delete方法是我直接在硬盘上删除文件/文件夹,不走回收站,删除要谨慎

        File f=new File("c:\\User\\test\\1.txt);
        System.out.println(f.delete());

目录遍历

  • public String [ ] list();返回一个String数组,表示该File目录中所有子文件/目录

  • public File [ ] listFiles();返回一个File数组,表示该File目录中的所有子文件/目录

    注意:
    list方法和listFiles方法遍历的是构造方法中给出的目录
    如果构造方法中给出的目录是路径不存在,会抛出空指针异常
    如果构造方法中给出的路径不是一个目录,也会抛出空指针异常

1.public String [ ] list();返回一个String数组,表示该File目录中所有子文件/目录
遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取的多个名称存储到一个String类型的数组中

     File f=new File("c:\\User\\test")
     String [] arr=f.list();
     for(String str:arr){
         System.out.println(str);
     }
  1. public File [ ] listFiles();返回一个File数组,表示该File目录中的所有子文件/目录
    遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取的文件/文件夹封装为File对象,多个File对象存储到File数组中

    File f=new File("c:\\User\\test")
      File [] arr=f.listFiles();
      for(File str:arr){
          System.out.println(str);
      }
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是代码实现: ```java import java.io.*; public class FileDemo { public static void main(String[] args) { // 从标准输入流中读取数据 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("请输入一个整数:"); int num1 = Integer.parseInt(br.readLine()); System.out.print("请输入一个浮点数:"); float num2 = Float.parseFloat(br.readLine()); System.out.print("请输入一个字符串:"); String str = br.readLine(); // 创建一个File对象,表示要写入的文件 File file = new File("test.txt"); // 创建一个PrintWriter对象,用于写入数据到文件中 PrintWriter pw = new PrintWriter(file); // 向文件中写入数据 pw.println(num1); pw.println(num2); pw.println(str); // 关闭输出流 pw.close(); // 创建一个BufferedReader对象,用于从文件中读取数据 BufferedReader br2 = new BufferedReader(new FileReader(file)); // 从文件中读取数据 int num1FromFile = Integer.parseInt(br2.readLine()); float num2FromFile = Float.parseFloat(br2.readLine()); String strFromFile = br2.readLine(); // 输出读取到的数据 System.out.println("从文件中读取到的整数是:" + num1FromFile); System.out.println("从文件中读取到的浮点数是:" + num2FromFile); System.out.println("从文件中读取到的字符串是:" + strFromFile); // 关闭输入流 br2.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码通过BufferedReader从标准输入流中读取数据,使用PrintWriter将数据写入到文件中,再通过BufferedReader从文件中读取数据并在控制台输出。在此过程中,我们使用Java中的File进制流和标准输入输出流,希望可以帮助你理解它们的使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值