使用File类创建文件夹

File类在java.io包下,看名字应该可以猜到,这个类是跟文件夹操作有关,下面使用File类中的方法在硬盘中创建文件夹。

package com.sutaoyu.file;

import java.io.File;
import java.io.IOException; public class test_1 {
public static void main(String[] args) throws IOException {
//如果文件存在,就不创建了,返回false,如果不存在就会创建,返回true
File file1 = new File("D:\\hello.txt");
System.out.println(file1.createNewFile()); //如果文件夹存在,就不创建了,返回false,如果不存在就会创建,返回true
File file2 = new File("D:\\new");
System.out.println(file2.mkdirs()); //可以创建多级目录,如果文件夹存在,就不创建了,返回false,如果不存在就会创建,返回true
File file3 = new File("D:\\onkey\\1024");
System.out.println(file3.mkdirs()); //只能创建文件夹
File file4 = new File("D:\\monkey\\1024.txt");
System.out.println(file4.mkdirs()); //如果不写盘符,会默认在项目的根目录里面创建
File file5 = new File("1026.txt");
System.out.println(file5.createNewFile());
System.out.println(file5.exists());
}
}

注意:如果没有写盘符路径,默认在项目路径里面创建

使用File类重命名和删除文件

  • public boolean renameTo(File dest):把文件重命名为指定的文件路径
  • public boolean delete():删除文件或者文件夹
package com.sutaoyu.file;

import java.io.File;

public class test_2 {
public static void main(String[] args) {
// //旧名字
// File oldFile = new File("D:\\hello.txt");
// //新名字
// File newFile = new File("D:\\world.txt");
// oldFile.renameTo(newFile); //旧名字
// File oldFile = new File("D:\\world.txt");
// //新名字
// File newFile = new File("D:\\monkey\\java.txt");
// //如果两个文件路径不一致,则会将旧文件剪切到新的文件路径中再重命名
// oldFile.renameTo(newFile);
//
// //不会将文件放到回收站中,而是直接删除
// File del = new File("D:\\monkey\\java.txt");
// //删除
// System.out.println(del.delete()); //如果文件夹下有其他文件,则不会删除
File del1 = new File("D:\\monkey");
System.out.println(del1.delete());
} }

注意:

  • 重命名时,如果两个路径不相同,则会将被修改的文件进行剪切,然后再重命名放到新的路径里面
  • 删除时不会放入回收站,并且要确保被删除的文件里面没有其他文件才可以进行删除

File类中关于判断的方法

  • public boolean isDirectory():判断是否是目录
  • public boolean isFile():判断是否是文件
  • public boolean exists():判断是否存在
  • public boolean isHidden():判断是否隐藏
package com.sutaoyu.file;

import java.io.File;

public class test_3 {
public static void main(String[] args) {
//判断是否是文件夹
File file1 = new File("D:\\monkey");
System.out.println(file1.isDirectory());
//判断是否是文件
System.out.println(file1.isFile()); //判断是否是文件夹
File file2 = new File("D:\\new.txt");
System.out.println(file2.isDirectory());
//判断是否是文件
System.out.println(file2.isFile());
//判断文件是否存在
System.out.println(file2.exists()); //判断文件是否隐藏
File file3 = new File("D:\\hidden");
System.out.println(file3.isHidden());
}
}

File类其他常用方法

  • public String getAbsolutePath():获取绝对路径
  • public long length():获取文件大小。字节数
  • public long lastModified():获取最后一次的修改时间,毫秒值
  • public String[] list():获取文件路径下所有文件名(同一层级目录)
  • public File[] listFiles():获取文件路径下所有File对象数组
package com.sutaoyu.file;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date; public class test_4 {
public static void main(String[] args) {
File file1 = new File("1024.txt");
//查看绝对路径
System.out.println(file1.getAbsolutePath());
//文件的大小,单位是字节
System.out.println(file1.length());
//最后修改时间
Date date = new Date(file1.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(date)); File file2 = new File("F:\\monkey1024\\01-JavaSE\\代码\\code\\chapter-08");
//获取目录下的同级文件或文件夹的名称
String[] nameArray = file2.list();
for(String name : nameArray){
System.out.println(name);
} //获取目录下的同级文件或文件夹的File对象
File[] fileArray = file2.listFiles();
//打印出文件的绝对路径
for(File file : fileArray){
System.out.println(file);
}
}
}

练习:

统计项目根目录下以.txt结尾的文件数量,并将文件名打印出来

分析:

获取项目根目录下的文件名
对文件名进行判断是否是以.txt结尾

代码实现:

package com.sutaoyu.file;

import java.io.File;

public class test_5 {
public static void main(String[] args) {
File file = new File("D:\\java\\Eclipse\\chapter-08\\files\\");
File[] fileArray = file.listFiles(); //统计出现次数
int count = 0;
for(File name : fileArray) {
String s = name.toString();
//判断是否是以.txt文件结尾
if(s.endsWith(".txt")) {
if(name.isFile()) {
count++;
System.out.println(count);
}
}
}
System.out.println("以.txt文件结尾的数量是" + count + "个");
}
}

44、File类简介的更多相关文章

  1. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. File类常用的方法与字节流类方法简介

    File类常用的方法 获取功能的方法 public String getAbsolutePath() :返回此File的绝对路径名字符串. public String getPath() :将此Fil ...

  3. Java IO流中的File类学习总结

    一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...

  4. JAVA基础-File类

    一.File类概述 File类是文件和目录路径名的抽象表示形式.File类可以理解为一个文件路径或者文件夹路径的JAVA表现形式,而路径又可以分为绝对路径(是一个固定路径,从盘符开始),相对路径(相对 ...

  5. File类使用

    简介 File类的实例代表了一个文件或者一个目录,通过API可以获取这个对象的相关信息. File类代表的文件或者目录可以真实存在,也可以是不存在的,可以使用File.exists()来判断. 在Wi ...

  6. Java基础-StringBuffer类与StringBuilder类简介

    Java基础-StringBuffer类与StringBuilder类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringBuffer类 在学习过String类之后 ...

  7. JAVA nio 2 和 Path 类简介

    想要初步了解 NIO.2 API,也就是通常所说的“JSR203: More New I/O APIs for the Java Platform”,最好的切入点就是新的抽象类 java.nio.fi ...

  8. day19<异常&File类>

    异常(异常的概述和分类) 异常(JVM默认是如何处理异常的) 异常(try...catch的方式处理异常1) 异常(try...catch的方式处理异常2) 异常(编译期异常和运行期异常的区别) 异常 ...

  9. File类--System.out.print(Object obj)的理解

    一.File 类(java.io) 概述:Java中使用File类来表示文件或者文件夹对象!     抽象路径名:描述文件或文件夹时,使用的路径符号,就是一个对象的字符串表示形式,如"c:\ ...

随机推荐

  1. 为什么选择 .NET Core?

     为什么选择.NETCore? 学习新的开发框架是一项巨大的投资.您需要学习如何在新框架中编写,构建,测试,部署和维护应用程序.作为开发人员,有许多框架可供选择,很难知道什么是最适合的.即使您正在使用 ...

  2. 半夜思考之查漏补缺 , Spring 中 Bean 之间的依赖问题

    每次看书都会发现自己的不足 . 当一个 singten 的 Bean 依赖一个 prototype 的 Bean 时 , 如果不加注意 , 会发生一些奇怪的事情 , prototype 变为了 sin ...

  3. delphi如何检索adoquery里面某一列存在的重复行?

    var IsHave:Boolean; begin adoquery.first; while(not adoquery.eof) do begin if(adoquery.fieldbyname(' ...

  4. 【大数据】Hadoop的高可用HA

    第1章 HA高可用 1.1 HA概述 1)所谓HA(high available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障(single point of fa ...

  5. 用join取代not in

    写了好几个页面,速度都上不去,瓶颈在于SQL查询.太多的表,太多的not in,总是从一大推表和数据中筛选出一点数据.看了很多关于SQL优化的文章,都强烈要求不要太多使用not in查询,最好用表连接 ...

  6. STL 算法中函数对象和谓词

    STL 算法中函数对象和谓词 函数对象和谓词定义 函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.一个类对象,表现出一个函数的特 ...

  7. Virtual Table

    C++对象模型——吴泰 C/C++杂记 C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现 C++ 多继承和虚继承的内存布局 [已翻译100%] (虚继承参考,推荐) 图说C++对象模型:对 ...

  8. Linux内核分析实验八------理解进程调度时机跟踪分析进程调度与

    一.进程调度与进程调度的时机分析 1.不同类型的进程有不同的调度需求 Linux既支持普通的分时进程,也支持实时进程. Linux中的调度是多种调度策略和调度算法的混合. 2.调度策略:是一组规则,它 ...

  9. 设计模式 (一)——策略模式(Strategy,行为型)

    1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.策略模式(Strategy Pattern)属于行为型模式,其做法是将类所需的行为或者算法一个个封装成单独的类,并将其作为类的数据成员 ...

  10. java 面试题 -- 线程 按序 交替

    编写一个程序,开启 3 个线程,这三个线程的 ID 分别为A.B.C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示.如:ABCABCABC…… 依次递归? packag ...