路径问题:

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

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

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

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. shell脚本中执行sql脚本(mysql为例)

    1.sql脚本(t.sql) insert into test.t value ("LH",88); 2.shell脚本(a.sh     为方便说明,a.sh与t.sql在同一目 ...

  2. ajax请求Controller,返回信息乱码问题

    参考:https://blog.csdn.net/hgg923/article/details/53610548 @RequestMapping(value = "changeMobile& ...

  3. easyui 加载本地json 文件的方法

    easyui 加载本地json 文件的方法 2017年12月15日 17:18:07 vivian_hnd 阅读数 2155 https://blog.csdn.net/vivian_wang07/a ...

  4. tomcat点击startup.bat出现闪退,启动不成功的解决办法

    问题描述:tomcat点击startup.bat出现命令行闪退的情况 打开startup.bat,在第一行加入 SET JAVA_HOME=D:\jdk\jdk1.8.0_121[jdk路径] SET ...

  5. jdbc学习一半的代码

    用java连接MySQL的准备工作 1.下载MySQL(了解MySQL的基本语法) 2.下载java的和MySQL的连接 3.在程序中加入2中下载的jar包 写java程序连接数据库的基本步骤: 1. ...

  6. Zero 初识Sciter

    在浏览有关Sciter技术前,您需要花点时间浏览以下内容. 您是否需要花时间学习Sciter? 如果您的工作或您想从事的工作与桌面应用开发无关,那么您不需要学习Sciter. 如果您不认同HTML\C ...

  7. Java 8 Stream 的终极技巧——Collectors 操作

    1. 前言 昨天在 Collection移除元素操作 相关的文章中提到了 Collectors .相信很多同学对这个比较感兴趣,那我们今天就来研究一下 Collectors . 2. Collecto ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:快速浮动

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. CCF 201703-4 地铁修建(最小生成树)

    题意:A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁.地铁由很多段隧道组成,每段隧道连接两个交通枢纽.经过勘探,有m段隧道作为候选,两个交通枢纽之 ...

  10. 014、Java中byte自动转型的操作

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...