File构造方法:

public File(String pathname){}	//将字符串路径变成File对象
public File(String parent , String chlid){}//将父级路径和子级路径进行拼接
public File(File parent , String child){}

File的路径可以是不存在的

成员方法:

直接说注意点:

  1. length()只能用于判断文件大小,不能判断文件夹大小
  2. getAbsoluate()会返回文件的绝对地址,而getPath()则会返回当时定义文件的路径,不管是用的相对路径,或者是:项目名/文件名
  3. creatNewFile()只能用于创建文件,不能用于创建文件夹,如果不写后缀名会创建无后缀的文件,如果存在这个文件,返回false创建失败,但是如果没有找到对应的父路径,会报错(这个方法需要处理异常)
  4. Windows操作系统下,文件和文件夹的名称不能重复(包括后缀名)

  1. delete()方法会直接删除(不会经过回收站)

获取并遍历

listFiles获取该路径下的所有内容,并返回一个File数组

File f[]=v.listFiles();

注意点:

  1. 调用者File表示的路径不存在时,返回null
  2. 调用者File表示的是文件时,返回null
  3. 调用者File表示空文件夹,返回长度为0的数组
  4. 调用者File内的隐藏文件夹依然会被获取到

其他:

  1. public static File[] listRoots()列出可用的系统根,其实也就是CD盘。需要注意的是它返回的是File类型的数组,不能直接输出打印,需要用for循环进行循环输出

  1. public String[] list()类似于listFile()但是由于返回值是String类型,只获取名字
  2. FilenameFilter filter是个文件名过滤器,在定义中是一个函数式接口,也就是说,可以写成内部类
import java.io.*;
public class Test {

public static void main(String[] args) {

File file = new File("C:\Users\Lenovo\Desktop\WP");

String[] a = file.list(new FilenameFilter() {

@Override

public boolean accept(File dir, String name) {

return name.endsWith(".txt");

}

});

for (int i = 0; i < a.length; i++) {

System.out.println(a[i]);

}

}

}
  1. FileFilter的使用和上面基本一致,只是重写方法的参数不同
package Java_test;

import java.io.*;



public class Test {

public static void main(String[] args) {

File file = new File("C:\Users\Lenovo\Desktop\WP");

File[] a = file.listFiles(new FileFilter() {

@Override

public boolean accept(File pathname) {

return pathname.isDirectory();

}

});

for (int i = 0; i < a.length; i++) {

System.out.println(a[i]);

}

}

}

File与IO流之File基础的更多相关文章

  1. IO流,File类的测试........课堂加总结

    package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...

  2. 12.19 file 与io流

    12.19 file与io流 File 1. 新建文件或者文件夹 新建文件 File F = new File(pathname:"路径+文件名");Boolean flag = ...

  3. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  4. Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  5. 乐字节Java之file、IO流基础知识和操作步骤

    嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流. 先来看看IO流的思维导图吧. 一. File 在Java中,Everything is Object!所以在文件中,也不例外! ...

  6. java基础——IO流之File类

    1.File类的构造方法: File(String  pathName):通过一个指定的字符串类型路径来创建一个文件对象 File  (String parent,String child):通过指定 ...

  7. java基础9(IO流)-File类

    File类 File:文件和目录路径名的抽象表示形式.即java中把文件或者目录都封装成File对象 代码练习1 import java.io.File; public class FileDemo1 ...

  8. java IO流 之 FIle类基础

    package IO; import java.io.File;import java.io.IOException; public class FileIO { /** * 构建及获取文件名信息 * ...

  9. javaEE(Stream流、日志、IO流、File)

    Stream流 简化集合和数组操作的API List<String> list =new ArrayList<>(); Collection.addAll(list," ...

  10. IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)

    1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public  ...

随机推荐

  1. 一个ABAQUS model需要的Component

    component of abaqus model Abaqus模型由几个不同的组件组成,它们共同描述了要分析的物理问题. a abaqus model 至少要有: discrete goemtry ...

  2. AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类

    引言 人工智能(AI)技术的迅猛发展推动了各行各业的数字化转型.图像分类,作为计算机视觉领域的核心技术之一,能够让机器自动识别图像中的物体.场景或特征,已广泛应用于医疗诊断.安防监控.自动驾驶和电子商 ...

  3. Laravel11 从0开发 Swoole-Reverb 扩展包(一) - 扩展包开发

    前言 大家好呀,我是yangyang.好久没更新了,最近新项目在使用laravel11(截止目前发文,laravel12也发布了)做开发,自己也是利用有些空闲时间做些除开业务以外的深入学习,因此也就萌 ...

  4. AI编程:最疯狂的MCP服务器你一定要试试

    我还记得我第一次听说MCP(模型上下文协议)的时候,我心想: "哈?又一个花里胡哨的缩写,这个世界已经快被这些缩写淹没了!" 但当我意识到MCP就像AI界的通用连接器--就像USB ...

  5. python 读写csv文件(创建,追加,覆盖)

    读取csv文件 利用 csv.reader 可以读 csv 文件,然后返回一个可迭代的对象 csv_read,我们可以直接从 csv_read 中取数据 import csv def read_csv ...

  6. laradock 安装扩展程序 pcntl

    起因 运行workman脚步的时候,PHP 提示缺少 pcntl 扩展 Config git:(master) php start.php -d Please install pcntl extens ...

  7. Ansible忽略任务失败

    在默认情况下,任务失败时会中止剧本任务,不过可以通过忽略失败的任务来覆盖此类行为.在可能出错且不影响全局的段中使用ignore_errors关键词来达到目的. 环境: 受控主机清单文件: [dev] ...

  8. Thinkphp8多语言模式,语言包变量占位符实现方法。

    主要实现原理是sprintf()函数,更多占位符写法可以参考sprintf()的介绍. zh-cn.php ...... // 变量用 s% 作为占位符 'sold_books' => 'Sol ...

  9. 文件转十六进制出现转义字符直接通过ASCII码逐字符展开的问题与修复

    近日工作中遇到某品牌电子签章系统生成的PDF文件若直接使用十六进制查看器打开,会出现转义字符被直接以ASCII编码转换为16进制字符串的问题,导致提取的文件无法匹配ASN.1格式,无法进一步对签章有效 ...

  10. anaconda创建新环境

    博客地址:https://www.cnblogs.com/zylyehuo/ anaconda创建新环境 conda create -n 环境自定义的名称 python=版本号 anaconda指定路 ...