路径问题:

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

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

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

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. 深入 Laravel 资料

    深入 Laravel 核心 Learning_Laravel_Kernel laravel 源码详解

  2. linux动态库(.so)和静态库(.a)的区别

    静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.编译之后程序文件大,但加载快,隔离性也好. 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入,因此在程序运行时 ...

  3. 全文索引-ElasticSearch

    ElasticSearch 官方文档 Elasticsearch是一个开源的搜索引擎,建立在一个全文搜索引擎库Apache Lucene™基础之上. Lucene可以说是当下最先进,高性能,全功能的搜 ...

  4. Day4-A-最短路 HDU2544

    在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助 ...

  5. 用python写测试数据文件

    f是指向文件的指针,r是转义字符,可以让字符串中的\保持不被转义.路径点属性查然后加上当前文件. 'w'表示只写,‘r’表示只读. import random 导入random数 s = []开一个空 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:图片响应式 (将很好地扩展到父元素)

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

  7. jenkins -- 邮件的配置

    参考博文:https://blog.csdn.net/lykio_881210/article/details/81135769 https://www.jianshu.com/p/29a29ce6e ...

  8. 运行自己的 DaemonSet【转】

    本节以 Prometheus Node Exporter 为例演示如何运行自己的 DaemonSet. Prometheus 是流行的系统监控方案,Node Exporter 是 Prometheus ...

  9. 编程题目 定义栈的数据类型,请在类型中实现一个能够得到栈最小元素的minx函数。

    首先自己用 节点 实现了 栈 这种数据类型 为了实现题目了要求,我使用的两个栈. 一个栈 用来 push pop 用户的数据, 另外一个栈用来存放 最小元素(涉及元素比较) 代码如下: #!/usr/ ...

  10. 洛谷 P2725 邮票 Stamps

    题目传送门 解题思路: f[i]表示凑总面值i所需的最少邮票张数,然后快乐的跑完全背包. AC代码: #include<iostream> #include<cstdio> # ...