此文参考自"Java SE程序设计"

   编著: 青岛东合信息技术有限公司

算是做笔记,以后想看可以翻阅,顺便分享出来大家可以参照.如有侵权,请联系本人删除

文件

  文件是相关记录或放在一起的集合,可以存储在硬盘,光盘,移动存储设备上,存储形式是文本文档,图片,程序等,在编程的过程中经常会对文件进行各种的处理

file类

  java.io提供了一系列的类用于对底层系统中的文件进行处理.其中File类是最重要的一个类,该类可以获取文件信息,也可以对文件进行管理.File对象既可以表示文件,也可以表示目录,利用这一特性可以对文件,目录及其属性进行基本操作.File类提供了许多的方法,通过方法可以获得与文件相关的信息,如名称,最后修改日期,文件大小等.

File常用的方法
File(String pathname) 构造方法,用于创建一个指定路径名的File对象                                                       
boolean canRead() 判断文件或者目录是否可读
boolean createNewFile() 自动创建一个File对象指定文件名的空文件,只有在指定文件名文件不存在的时候才能成功
boolean delete() 删除File对象,对应的文件或目录
boolean exists() 判断File对象对应的文件或目录是否存在
String getAbsolutePath() 获取File对象对应的文件或目录的绝对路径
String getName() 获取File对象对应的文件或目录的名称
String getPath() 获取File对象对应的文件或目录的路径
boolean isDirectory() 判断File对象指向的是否为一个目录
boolean isFile() 判断File对象指向的是否为一个文件
long length() 返回File对象指向的文件大小,单位为字节
boolean mkdir() 新建一个File对象所定义的一个路径,如果新建成功,返回true,否则返回false,此时File对象必须是目录对象
boolean renameTo(File dest) 重命名File对象对应的文件,如果命名成功,返回true,否则返回false
long lastModified() 返回File对象的最后一次被修改时间

  例子:对File常用方法的部分使用

 package file类;

 import java.io.*;
import java.util.*;
public class FlieDemo {
public static void main(String args[]) {
System.out.println("请输入文件名:");
Scanner sanner = new Scanner(System.in);
//从控制台输入文件路径名
String pathName = sanner.next();
//根据路径字符串创建一个File对象
File file = new File(pathName);
//如果文件不存在,则创建一个
if(!file.exists()) {
try {
file.createNewFile();
}catch(IOException e) {
e.printStackTrace();
}
}
System.out.println("文件是否存在:"+file.exists());
System.out.println("是文件么:"+file.isFile());
System.out.println("是目录么:"+file.isDirectory());
System.out.println("名称:"+file.getName());
System.out.println("路径:"+file.getPath());
System.out.println("绝对路径:"+file.getAbsolutePath());
System.out.println("最后修改的时间:"+new Date(file.lastModified()).toString());
System.out.println("文件大小:"+file.length());
}
}

  执行结果

请输入文件名:
text.txt
文件是否存在:true
是文件么:true
是目录么:false
名称:text.txt
路径:text.txt
绝对路径:C:\Users\Administrator\eclipse-workspace\File类的使用\text.txt
最后修改的时间:Sun Jun 10 16:10:38 CST 2018
文件大小:0

  注意:File对象只是一个引用,他可能指向一个存在的文件,也可能指向一个不存在的文件,并且File对象不但可以表示一个文件,还可以表示某个目录.

File类的list方法
String[] list()                                                                  当File对象为目录时,返回该目录下的所有文件及子目录                                                                                                                                    
File[] listFiles() 返回File对象对应路径下的所有文件所有文件对象数组                                                          

  举例:将JDK根目录下的目录或文件的名称列举出来

 package file类的list方法;

 import java.io.File;
public class ListDemo {
public static void main(String args[]) {
//根据路径名称创建File对象
File file = new File("F:\\Java\\jdk1.8.0_91");
//得到文件名列表
if(file.isDirectory()) {
String[] fileNames = file.list();
//利用for-each打印各个名称
for(String fileName: fileNames) {
System.out.println(fileName);
}
}
}
}

  上述代码中路径字符串双斜杠解释:"\\",第一个"\"是转义符,第二个"\"是反斜杠

  执行结果

bin
COPYRIGHT
db
include
javafx-src.zip
jre
lib
LICENSE
README.html
release
src.zip
THIRDPARTYLICENSEREADME-JAVAFX.txt
THIRDPARTYLICENSEREADME.txt

  看结果:list()方法将JDK根目录的文件或目录都列举出来了,但是没有标明哪个是目录,哪个是文件.

  例子:用listFile()方法将JDK将根目录文件和目录都列举出来并标明

 package file类的list方法;

 import java.io.File;
public class ListFlieDemo {
public static void main(String args[]) {
//根据路径名称创建File对象
File file = new File("F:\\Java\\jdk1.8.0_91");
//得到文件名列表
if(file.isDirectory()) {
File[] files = file.listFiles();
//利用for-each获取每一个File 对象
for(File f : files) {
if(f.isFile())
System.out.println("文件:"+f);
else
System.out.println("目录:"+f);
}
}
}
}

  执行结果

目录:F:\Java\jdk1.8.0_91\bin
文件:F:\Java\jdk1.8.0_91\COPYRIGHT
目录:F:\Java\jdk1.8.0_91\db
目录:F:\Java\jdk1.8.0_91\include
文件:F:\Java\jdk1.8.0_91\javafx-src.zip
目录:F:\Java\jdk1.8.0_91\jre
目录:F:\Java\jdk1.8.0_91\lib
文件:F:\Java\jdk1.8.0_91\LICENSE
文件:F:\Java\jdk1.8.0_91\README.html
文件:F:\Java\jdk1.8.0_91\release
文件:F:\Java\jdk1.8.0_91\src.zip
文件:F:\Java\jdk1.8.0_91\THIRDPARTYLICENSEREADME-JAVAFX.txt
文件:F:\Java\jdk1.8.0_91\THIRDPARTYLICENSEREADME.txt
具有过滤条件的list方法
String[] list(FilenameFilter filter)                  返回一个字符串数组,这些字符串为此File对象对应的目录中满足指定过滤条件的文件和子目录                                                     
File[] listFiles(FilenameFilter filter) 返回File对象数组,这些File对象为此File对象对应的目录中满足指定过滤条件的文件和子目录

  注意:FileNameFilter是一个接口,她只有一个accept()方法,所以只需要定义一个类来实现这个接口,或者可以定义一个匿名类.

  举例:利用list()方法列举JDK根目录下的所有以html或htm为后缀的网页文件

 package file类的list方法;

 import java.io.*;
public class HtmlList {
public static void main(String args[]) {
//根据路径名称创建File对象
File file = new File("F:\\Java\\jdk1.8.0_91");
//得到文件名列表
if(file.exists() && file.isDirectory()) {
//创建FileNameFilter类型的匿名类,并作为参数传入到list方法中
String[] fileNames = file.list(new FilenameFilter() {
public boolean accept(File dir,String name) {
//如果文件的后缀名为.html或.htm则满足条件
return (name.endsWith(".html") || name.endsWith(".htm"));
}
});
for(String fileName: fileNames) {
System.out.println(fileName);
}
}
}
}

  执行结果

README.html

java基础文件,File类的更多相关文章

  1. Java基础之File类的使用

    Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法 ...

  2. 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

    ---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...

  3. 黑马程序员——JAVA基础之File类,递归,打印流,合并切割流

    ------- android培训.java培训.期待与您交流! ---------- File类 用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递 ...

  4. java基础42 File类的构造函数及其方法

    本文知识点(目录): 1.IO流(Input Output)    2.IO流技术的运用场景    3.File类的构造函数(方法)    4.File类的一些常用方法    5.实例(解析File类 ...

  5. JAVA基础之File类

    个人理解: File是个文件类,可以用其增加.删除.查找某种类型的文件或者文件夹,同时根据其成员变量的特点可以综合利用,避免出现跨系统的时候出现错误,并且查找时最好输入绝对路径,以免出现不存在的文件. ...

  6. Java基础教程——File类、Paths类、Files类

    File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...

  7. JAVA基础——文件File简单实用

    1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名fil ...

  8. 【56】java本地文件File类详解

    1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...

  9. java学习一目了然——File类文件处理

    java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...

随机推荐

  1. p4141(消失之物)

    题目描述 ftiasch 有 N 个物品, 体积分别是 W1, W2, …, WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N – 1 物品装满容积为 x 的背包,有几种方法呢?” ...

  2. Python实现王者荣耀小助手(二)

    接下来我们获取英雄和武器信息,详细代码KingGlory.py如下(代码中有详细注解): # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : ...

  3. 详解Spring Security的HttpBasic登录验证模式

    一.HttpBasic模式的应用场景 HttpBasic登录验证模式是Spring Security实现登录验证最简单的一种方式,也可以说是最简陋的一种方式.它的目的并不是保障登录验证的绝对安全,而是 ...

  4. 去重算法,简单粗暴&优化版

    Remove Repeat 一.去重原理 1.进行排序 2.判断是否满足 '两个字符串相同' 的条件,相同则累加重复次数,并使用continue继续下一次循环 3.当条件不满足时,将该字符串和累计数加 ...

  5. Python 基础之 线程与进程

    Python 基础之 线程与进程 在前面已经接触过了,socket编程的基础知识,也通过socketserver 模块实现了并发,也就是多个客户端可以给服务器端发送消息,那接下来还有个问题,如何用多线 ...

  6. C++图像加Lidar点云转写rosbag

    近期需要处理一批Lidar+image的数据,拿到的是其他格式,但要转存成rosbag使用,参考部分网上做法,完成并记录. 1.Lidar处理 主要是将Lidar点云信息按点转为pcl::PointX ...

  7. Java多态——代码示例

    刚开始看多态的文字定义时,总是不明白说的啥意思,看了一些示例代码后,总算知道了,其实也就是“多态”的字面意思. 如下: class A{ public void Out() { System.out. ...

  8. 搭建Redis三主三从集群

    Redis三主三从集群规划 10.0.128.19   使用端口 7000  7001 10.0.128.22   使用端口 7002  7003 10.0.128.23   使用端口 7004  7 ...

  9. Lab8:文件系统

    文件系统的概念 文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能 文件是具有符号名,由字节序列构成的数据项集合 文件系统的功能 分配文件磁盘空间 管理文件块(位置和顺序) 管理空闲空 ...

  10. python:类2——有关类和对象的BIF内置函数

    1.检查.判断 判断一个类是不是另一个类的子类 issubclass(class, classinfo)如果第一个参数是第二个参数的子类.子子类等,返回true 非严格(自己可以认为是自己的子类): ...