File类的简单使用

File类:

1.什么是File类?

  文件和文件目录的抽象表示

2.用来干什么?

  用来对文件或者文件进行简单的读,这里的读是指对文件的属性进行读,获取文件的属性到jvm上面去,可以打印到控制台上。

  可以列出一个文件夹中的所有东西,利用方法的迭代还可以列出一个路径下的所有文件。

3.构造方法

 

File(File parent, String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新
File 实例。

 

File(String pathname)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

 

File(String parent, String child)

根据 parent 路径名字符串和 child 路径名字符串创建一个新
File 实例。

 

File(URI uri)

通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

 

总共四个构造方法,在学习中常用的事第二个。

4.File类的简单操作

(1)文件的属性操作

File file=new File("D:\\课程\\第一天练习code");//以绝对路径创建一个File对象

if(file.exists()) {//exists()方法,判断文件或者目录是否存在,存在返回true,不存在返回false

file.isDirectory();//判断文件是否是目录,是返回true,不是返回false

file.isFile();//判断文件是否是文件,是返回true,不是返回false

file.lastModified();//返回文件最后一次修改的时间

file.getAbsolutePath();//返回文件的绝对路径名字符串  D:\课程\第一天练习code

file.getAbsoluteFile();//返回文件的绝对路径名形式     D:\课程\第一天练习code 返回的是应用类型File

file.getCanonicalPath();// 返回此抽象路径名的规范形式。 D:\课程\第一天练习code 返回的是应用类型File

file.delete();// 删除此抽象路径名表示的文件或目录。 如果file是文件夹,并且文件里面有文件,删除不成功,返回false,成功返回true

file.getName();// 返回由此抽象路径名表示的文件或目录的名称。

file.getParent();//返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回
null 这个方法返回的是字符串

file.getParentFile();//  返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。 返回的是File类型

file.length();//   返回由此抽象路径名表示的文件的长度。

(2)文件的创建和文件的边历

文件的创建:

File file=new File("测试文件夹");//抽象路径 在当前工作目录下的文件
也可以用绝对路径

File file1=new File("a.txt");

if(!file.exists()) {

//如果文件不存在,那就创建文件目录

file.mkdir();//只能创建一层目录     file.mkdirs(); 该方法可以创建多层目录

System.out.println(file.getAbsolutePath());

}

if(!file.exists()) {

//如果文件不存在,那就创建文件

file.createNewFile();//创建文件

}

文件的遍历:

public class FileDemo03 {

public static void main(String[] args) {

File file=new File("D:\\");//D盘路径

list(file);//列出D盘下的文件

listAll(file);//列出D盘中所有文件

}

private static void listAll(File file) {

// TODO Auto-generated method stub

File[] files=file.listFiles();//获取当前目录的文件

for (File file2 : files) { //利用增强for循环遍历文件

if(file2.isDirectory()) {//如果是目录,继续调用方法

listAll(file2);

System.out.println(file2.getName());//打印目录

}else {//打印出文件文件

System.out.println(file2.getName());

}

}

}

文件的遍历还可以使用过滤器:


 File[]


listFiles(FileFilter filter)

返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

使用这个方法,可以使用内部类或者继承的方式来重写过滤器里面的方法来实现文件的遍历

时间: 2024-07-31 14:32:24

File类的简单使用的相关文章

黑马程序员-File类+递归的简单应用

Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.通过以下构造方法创建一个File对象. 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例. File(File parent, String child); 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例. File(String pathname) 根据 pa

异常及File类概述

一.异常 1.异常分类: Throwable:Throwable类是 Java 语言中所有错误或异常的超类.它只有两个子类 Error:属于严重问题,只能避免:如内存溢出(OutOfMemory) Exception:可以解决的异常问题 编译时期异常:在写代码期间遇到的异常,不处理没办法运行: 运行时期异常(RuntimeException):在程序运行时期遇到的异常,一般情况不是编译时期异常就是运行时期异常: 2.异常处理: 1)捕获异常:try-catch-finally A:格式:try{

java File类的常见用法

File类简单用法! [java] view plain copy print? [java] view plain copy print? import java.io.File; import java.io.IOException; public class TestFile { public void createFile(String path){ File file=new File(path); if(!file.exists()){//判断文件是否存在 try { file.cr

Java之File类及递归树形展示目录_20150804

Java之File类及递归树形展示目录 20150804 下面的构造函数可以用来生成File 对象: File(String directoryPath)          File(String directoryPath, String filename)          File(File dirObj, String filename) 这里,directoryPath是文件的路径名,filename 是文件名,dirObj 一个指定目录的File 对象.下面的例子创建了三个文件:f1

JAVA File类 分析(三)

前面两篇与大家一起研究了unix下的文件系统,本篇将和大家一起分析 文件的属性和文件夹. ok,废话不说,先来段代码 #include <stdio.h> #include <sys/types.h> #include <dirent.h> void do_ls(char[]); void main(int ac,char *av[]){ if(ac==1) do_ls("."); else{ while(--ac){ printf("%s

java File类的基本操作

(如果有谁想要这个软件的话,在评论中留一个邮箱吧.) 前几天好几次看到有朋友晒出玩2048刷高分的截图,我就想我能不能也做一个2048呢?仔细想了想2048游戏的规律,发现其实逻辑上很简单,也不用研究什么算法,于是我马上觉得我可以很快写出来.当天下午我就用了四个小时完成了2048的基本功能.几天后觉得不满足,于是给我的2048加了存档.读档和后退一步的功能,这样就更好刷分了呢! 使用语言:C#: 平台:Visual Studio 2012 Win Form. 如何完成2048的基本功能呢?204

文件管理File类

在上一讲中,我们学习了泛型集合的几种类型,今天这讲我们主要研究下File的基本使用. 首先,File类是个静态类,无法实例化.它的命名空间是:using System.IO File中基本的方法如下演示: 图一.File.Create 图二.File.Copy一般情况 图三.File.Copy(path,path1,true); 图四.File.Delete 图五.File.Exists(); 图六.File.Move 图七.File.ReadAllLines() 图八.ReadAllText和

文件操作(File类等)API摘要

Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有). 虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式.如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示.如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台. 如果此虚拟机具有控制台,那么它将由此类唯一的实例(可通过调用 System.console() 方法获得)表示.如果没有可

JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)

1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.在对这个文字进行操作.简单说:字节流+编码表字节流的两个顶层父类:1,InputStream 2,OutputStream.字符流的两个顶层父类:1,Reader 2,Writer String filePath = "F:\\demo.txt"; FileWriter f