路径问题:

  绝对路径: 该文件在硬盘上 的完整路径。绝对路径一般都是以盘符开头的。

  相对路径:  相对路径就是资源文件相对于当前程序所在的路径。

     . 当前路径
 
     .. 上一级路径
 
  注意: 如果程序当前所在的路径与资源文件不是在同一个盘下面,是没法写相对路径的

import java.io.File;

public class Demo2 {

    public static void main(String[] args) {
File file = new File(".");
System.out.println("当前路径是:"+ file.getAbsolutePath());
File file2 = new File("..\\..\\a.txt");
System.out.println("存在吗?"+ file2.exists());
}
}

创建:
   createNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false
   mkdir()   在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。
   mkdirs()  在指定位置创建目录,这会创建路径中所有不存在的目录。
   renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件夹,文件不同时相当于文件的剪切,剪切时候不能操作非空的文件夹。移动/重命名成功         则返回true,失败则返回false

import java.io.File;
import java.io.IOException; public class Demo1 {
public static void main(String[] args) throws IOException {
File file = new File("F:\\aa");
System.out.println(file.createNewFile());
//createNewFile 创建一个指定的文件,如果该文件存在了,则不会再创建,如果还没有存在则创建。创建成功返回true,否则返回false。 File dir = new File("F:\\a.txt");
System.out.println(dir.mkdir());// mkdir 创建一个单级文件夹 dir = new File("F:\\aa\\bb");
System.out.println(dir.mkdirs()); //renameTo()如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。
File destFile = new File("F:\\aaaaaaw");
System.out.println(file.renameTo(destFile)) ;
}
}

删除:
  delete()  删除文件或一个空文件夹,如果是文件夹且不为空,则不能删除,成功返回true,失败返回false。
  deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删除

import java.io.File;

public class Demo2 {

    public static void main(String[] args) {
File file = new File("F:\\a.txt");
System.out.println("删除成功吗? "+ file.delete());
//delete方法不能用于删除非空的文件夹。 delete方法会马上删除一个文件。 file.deleteOnExit(); //jvm退出的时候删除文件。 一般用于删除临时 文件。
System.out.println("Hahaha");
}
}

判断:
    exists()  文件或文件夹是否存在。
    isFile()  是否是一个文件,如果不存在,则始终为false。
    isDirectory() 是否是一个目录,如果不存在,则始终为false。
    isHidden()  是否是一个隐藏的文件或是否是隐藏的目录。
    isAbsolute() 测试此抽象路径名是否为绝对路径名。

import java.io.File;

public class Demo3 {

    public static void main(String[] args) {
File file = new File("..\\..\\a.txt");
System.out.println(file.exists()); System.out.println(file.isFile());
System.out.println(file.isDirectory());
System.out.println(file.isHidden());
System.out.println(file.isAbsolute());
}
}

获取:
   getName()  获取文件或文件夹的名称,不包含上级路径。
   getPath()       返回绝对路径,可以是相对路径,但是目录要指定
   getAbsolutePath() 获取文件的绝对路径,与文件是否存在没关系
   length()  获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
   getParent()  返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
   lastModified() 获取最后一次被修改的时间

import java.io.File;
import java.sql.Date;
import java.text.SimpleDateFormat; public class Demo4{ public static void main(String[] args) {
File file = new File("..\\..\\a.txt");
System.out.println(file.getName());//传啥返回啥,无实际意义
System.out.println(file.getPath());//传啥返回啥,无实际意义
System.out.println(file.getAbsolutePath());
System.out.println(file.length());//获取文件的的大小(字节为单位)
System.out.println(file.getParent()); //使用毫秒值转换成Date对象
long lastModified = file.lastModified();
Date date = new Date(lastModified);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println("获取最后一次的修改时间(毫秒值):"+ dateFormat.format(date) );
}
}

文件夹相关:
   staic File[] listRoots()         列出所有的根目录(Window中就是所有系统的盘符)
   list()                 返回目录下的文件或者目录名,包含隐藏文件。对于文件这样操作会返回null。
   listFiles()               返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。

   list(FilenameFilter filter)       返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
   istFiles(FilenameFilter filter)   返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。

import java.io.File;

public class Demo5 {

    public static void main(String[] args) {
/*File[] roots = File.listRoots(); //列出所有的根目录
for(File file : roots){
System.out.println(file);
}*/ File file = new File("F:\\实战视频"); /*
String[] fileNames = file.list(); //把 当前文件夹下面的所有子文件名与子文件夹名 存储到一个String类型 的数组中 返回。
for(String fileName : fileNames){
System.out.println(fileName);
}*/ File[] files = file.listFiles(); // 把 当前文件夹下面的所有子文件与子文件夹都使用了一个FIle对象描述,然后把这些File对象存储到一个FIle数组中返回
for(File fileItem : files){
System.out.println("文件名:"+ fileItem.getName());
}
}
}

作业
  需求1 :  指定一个文件夹,然后该文件夹下面所有java文件。

  需求2: 指定一个文件夹,然后列出文件夹下面的所有子文件与文件夹,但是格式要如下:
  文件:
     文件名1
     文件名2
     文件名3
     ..

  文件夹:
     文件夹名1
     文件夹名2
     文件夹名3
     ....

listFiles(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
list(fileNameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。

import java.io.File;
import java.io.FilenameFilter; // 自定义一个文件名过滤器
class MyFilter implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
//System.out.println("文件夹:"+dir+" 文件名:"+ name);
return name.endsWith(".java");
}
} public class Demo6 {
public static void main(String[] args) {
File dir = new File("E:\\jee-Workspaces\\Day13");
listJava2(dir);
} public static void listJava2(File dir){
File[] files = dir.listFiles(new MyFilter());
for(File file : files){
System.out.println(file.getName());
}
}
//列出所有的java文件
public static void listJava(File dir){
File[] files = dir.listFiles();
for(File file : files){
String fileName = file.getName();
/*if(fileName.endsWith(".java")&&file.isFile()){
System.out.println(fileName);
}*/ if(fileName.matches(".+\\.java")&&file.isFile()){
System.out.println(fileName);
} }
} public static void listFile(File dir){
File[] files = dir.listFiles();
System.out.println("文件:");
for(File fileItem : files){
if(fileItem.isFile()){
System.out.println("\t"+fileItem.getName());
}
} System.out.println("文件夹:");
for(File fileItem : files){
if(fileItem.isDirectory()){
System.out.println("\t"+fileItem.getName());
}
}
}
}

Day 13:File类的常用方法的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java分享笔记:File类中常用方法的介绍

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...

  3. .NET(C#) File类的常用方法

    MSDN的File类 File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx ...

  4. File类的常用方法和练习

    File类常用的判断方法 import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /** * Fi ...

  5. IO流3 --- File类的常用方法2 --- 技术搬运工(尚硅谷)

    File类的判断功能 @Test public void test5(){ File file = new File("hello.txt"); //判断是否是文件目录 Syste ...

  6. IO流2 --- File类的常用方法1 --- 技术搬运工(尚硅谷)

    File类的获取功能 @Test public void test2(){ File file1 = new File("hello.txt"); File file2 = new ...

  7. java file类的常用方法和属性

    1 常用方法       a.createNewFile方法 public boolean createNewFile() throws IOException 该方法的作用是创建指定的文件.该方法只 ...

  8. File类的常用方法

    public static void GetFileInfo()    {                File file=new File("e:","two.txt ...

  9. java 19 -13 FIle类的一些方法2

    package zl_file; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; ...

随机推荐

  1. oracle练习-day03

    .创建表空间.创建用户赋权限.创建表语法:.常见的数据类型字符             myname ) varchar2:推荐使用这个 可变长度最大字符    myname varchar2() 字 ...

  2. Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记

    Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记 来源:www.roak.com 整合文件在百度网盘或博客盘 配置了N次,64位操作系统真坑爹~~~下 ...

  3. Gridview的stretchMode详解附自动宽度

    <GridView android:id="@+id/grid" android:layout_width="fill_parent" android:l ...

  4. boost::program_options 解析命令行参数

    源码: #include <boost/program_options.hpp> namespace po = boost::program_options; int main(int a ...

  5. HttpServletRequest 或 HttpServletResponse显示红色,需引用的依赖包:servlet-api.jar

    解决方法:

  6. 在Linux上安装Oracle服务的操作步骤

    如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助 闲话少叙,直接开始 首先,由于服务器比较差,需要先设置swap 查看是否设置swap虚拟内 ...

  7. 使用EasyUI中Tree

    easyui里面的加载tree的两种方式 第一种: 使用EasyUI中Tree 符合EasyUI中Tree的Json格式,我们先看一下,格式是如何的 [{ , "text":&qu ...

  8. 四 String类

    1 关于String类

  9. python-python基础1(变量、判断、循环、模块、数据运算)

    一.变量 name=input("name:") age=input("age:") job=input("job:") info=''' ...

  10. Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置

    控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库( ...