百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

File文件类(file显示的文件类型是文本文件)

toyiye 2024-09-03 01:05 3 浏览 0 评论

File (不是访问文件数据的)

  1. 每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径)
  2. 主要是JAVA为文件这块的操作(如创建、删除、新增等)而设计的相关类
  3. 包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较。
//    File file = new File("c:/xxx/xxx/xx/xxx.txt");  //-----绝对路径不推荐使用
名词解释
1)相对路径 顾名思义,相对路径就是相对于当前文件的路径。开发中一般表示路径使用这个方法。
2)绝对路径 绝对路径就是你的电脑上的文件或目录在硬盘上真正的路径。

 //使用File访问当前项目目录下的demo.txt文件
File file = new File("./demo.txt");

//获取文件名字
String name = file.getName();
System.out.println(name);

//获取文件大小(单位是字节)
long len = file.length();
System.out.println(len+"字节");

//是否可读可写
boolean cr = file.canRead();
boolean cw = file.canWrite();
System.out.println("是否可读:"+cr);
System.out.println("是否可写:"+cw);

//是否隐藏文件
boolean ih = file.isHidden();
System.out.println("是否隐藏:"+ih);
  • createNewFile()方法 创建新文件
//在当前目录下新建一个文件:test.txt
File file = new File("./test.txt");
//boolean exists()判断当前File表示的位置是否已经实际存在该文件或目录
if(file.exists()){
  System.out.println("该文件已存在!");
}else{
  file.createNewFile();//将File表示的文件创建出来
  System.out.println("文件已创建!");
}
  • delete()方法 文件删除
File file = new File("test.txt");//同属于一个文件夹,可以不写 "./"
if(file.exists()){
  file.delete(); //删除文件
  System.out.println("文件已删除!");
}else{
  System.out.println("文件不存在!");
}
  • mkDir()、mkDirs(): 创建目录
//在当前目录下新建一个目录:demo
// File dir = new File("demo");
File dir = new File("./a/b/c/d/e/f");
if(dir.exists()){
  System.out.println("该目录已存在!");
}else{
  //dir.mkdir();//创建目录时要求所在的目录必须存在 ,所以一般不用
  dir.mkdirs();//创建目录时会将路径上所有不存在的目录一同创建
  System.out.println("目录已创建!");
}
  • delete() 删除一个目录,但是只能删除空目录
 //将当前目录下的demo目录删除
File dir = new File("demo");
//        File dir = new File("a");
if(dir.exists()){
  dir.delete();//delete方法删除目录时只能删除空目录
  System.out.println("目录已删除!");
}else{
  System.out.println("目录不存在!");
}
  • listFiles方法 可以访问一个目录中的所有子项
//获取当前目录中的所有子项
File dir = new File(".");
/*
  boolean isFile()
  判断当前File表示的是否为一个文件
   boolean isDirectory()
   判断当前File表示的是否为一个目录
 */
if(dir.isDirectory()){
  /*
      File[] listFiles()
      将当前目录中的所有子项返回。返回的数组中每个File实例表示其中的一个子项
  */
  File[] subs = dir.listFiles();
  System.out.println("当前目录包含"+subs.length+"个子项");
  for(int i=0;i<subs.length;i++){
    File sub = subs[i];
    System.out.println(sub.getName());
  }
}
  • 重载的 listFiles方法: 有参的
//该方法要求传入一个文件过滤器,并仅将满足该过滤器要求的子项返回。
File dir = new File(".");
if(dir.isDirectory()){            
  File[] subs = dir.listFiles(new FileFilter(){
      public boolean accept(File file) {
           return file.getName().startsWith(".");
      }
});
System.out.println(subs.length);

Lambda表达式:

  • JDK8之后,java支持了lambda表达式这个特性.
  • 可以用更精简的代码创建匿名内部类.但是该匿名内部类实现的接口只能有一个抽象方法,否则无法使用!
  • 是编译器认可的,最终会将其改为内部类编译到class文件中

Lambda特征:

  1. 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  2. 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  3. 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  4. 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值。
// 语法
(参数列表) ->{
  方法体
}  

 //匿名内部类形式创建FileFilter ---- ①
FileFilter filter = new FileFilter() {
  public boolean accept(File file) {
    return file.getName().startsWith(".");
  }
};
//lambda 写法 写① 的匿名内部类创建 FileFilter  ---- ②
FileFilter filter2 = (File file)->{
  return file.getName().startsWith(".");
};

//lambda表达式中参数的类型可以忽略不写  lambda 再次简化②的版本----③
FileFilter filter3 = (file)->{
  return file.getName().startsWith(".");
};

/*
     lambda表达式方法体中若只有一句代码,则{}可以省略
      如果这句话有return关键字,那么return也要一并省略!   ------基于③ 再次简化的写法版本
*/
FileFilter filter4 = (file)->file.getName().startsWith("."); 

学习记录,如有侵权请联系删除。

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码