1-创建File对象

    /**
* 创建我们 java.io.File对象
*/
public static void test1()
{
//第一创建对象方式
File parent=new File("f:/lsh"); //设置一个目录对象
String child="刘诗华.txt"; //指定文件名
File file1=new File(parent, child); //目录对象,文件名 //第二种创建对象方式  指定一个文件名 表示方法为字符串
File file2=new File("f:/lsh/刘诗华.txt"); //第三种创建方式 目录和文件都是用字符表示,但是目录和文件是分开来的
File file3=new File("f:/lsh/","刘诗华.txt"); System.out.println("对象1="+file1);
System.out.println("对象2="+file2);
System.out.println("对象3="+file3); //打印结果如下显示
//对象1=f:\lsh\刘诗华.txt
//对象2=f:\lsh\刘诗华.txt
//对象3=f:\lsh\刘诗华.txt }

2.检查我们文件是否存在

public static void exists() {

        File file2=new File("f:/lsh/刘诗华.txt");
boolean b = file2.exists(); //如果硬盘上面存在刘诗华.txt文件 则会返回true 否则就是返回false
System.out.println(b); //因为我的电脑上面没有文件,所以返回false
}

3.创建文件

    private static void createNewFile() throws IOException {

        File file2=new File("f:/lsh/刘诗华.txt");
boolean b = file2.exists(); //如果硬盘上面存在刘诗华.txt文件 则会返回true 否则就是返回false //如果不存在,则创建
//因为我们调用 file2.exists()得到的结果为 false 我们对结果取反之后 会得到 true,就会执行if代码块的程序
if(!b)
{
file2.createNewFile();
System.out.println("文件创建成功");
} }

4-修改文件名称

    private static void renameTo() {

        File file2=new File("f:/lsh/刘诗华.txt");  //源文件名称

        File dest=new File("f:/lsh/hello.txt"); //新文件名

        // public boolean renameTo(File dest)  JDK里面是文档是传入一个新File对象
file2.renameTo(dest); //执行文件更名操作 }

5.删除文件

    private static void delete() {

        File file2=new File("f:/lsh/刘诗华.txt");  //要删除的文件对象

        //判断文件是否存在,如果存在则执行删除delete()方法
if(file2.exists())
{
file2.delete();
System.out.println("删除文件成功");
} }

6.创建目录文件夹

    private static void mkdir() {

        //定义一个文件夹
File dir =new File("f:/lsh");
//判断文件夹是否存在
if(!dir.exists())
{
dir.mkdir(); // mkdir方法创建 lsh一级目录
// dir.mkdirs(); // mkdirs方法会创建不存在父级目录文件
} }

7.修改文件夹名称

    private static void modify() {

        //定义一个文件夹
File dir =new File("f:/lsh"); if(dir.exists())
{
File dest=new File("f:/xxxx");
dir.renameTo(dest);
} }

8.列表文件夹下面的所有的文件

    private static void list() {

        File dir =new File("f:/xxxx");

        if(dir.exists())
{
// list() 返回的是一个字符串数组类型
String[] list = dir.list(); for (String string : list) {
System.out.println(string);
}
}
else
{
System.out.println("目录不存在");
} }

9.列表指定文件夹下面的文件,返回的是一个File对象数组

    //列表指定文件夹下面的文件
private static void listFile() { File dir =new File("f:/xxxx"); if(dir.exists())
{
// listFiles() 返回的是一个File数组对象
// 所以File的相关操作我们都可以方便使用
File[] list = dir.listFiles(); for (File file : list) {
System.out.println(file);
}
}
else
{
System.out.println("目录不存在");
} }

10.列表指定文件夹下面的文件,并做过滤

第一种采用匿名内部类

    private static void filter() {

        File dir=new File("f:/xxxx");

        if(!dir.exists())
{
System.out.println("文件夹不存在");
return;
} dir.listFiles(new FilenameFilter(){ public boolean accept(File dir, String name) { boolean b=false; if(dir.isFile() && name.endsWith("docx"))
{
b=true;
} return b; } });
}

第二种方法采用实现接口方式来做

class Filter implements FilenameFilter
{
@Override
public boolean accept(File dir, String name) { boolean b=false; //通过dir和name变量 创建一个file对象,如果是文件 并且是 docx结尾的文件,则返回true
if(new File(dir,name).isFile() && name.endsWith("docx"))
{
b=true;
}
return b;
}
} private static void filter() { File dir=new File("f:/xxxx"); if(!dir.exists())
{
System.out.println("文件夹不存在");
return;
} Filter filter=new Filter();
File[] list = dir.listFiles(filter); for (File file : list) {
System.out.println(file);
}
}

11.删除某个文件夹

    public static void main(String[] args) {

        File dir=new File("f:/abc");
removeDir(dir);
} //删除目录下面的所有文件和本目录
private static void removeDir(File dir) { //判断目录是否存在磁盘中
if(!dir.exists())
{
System.out.println("对不起,目录不存在");
return;
}
//列表所有的文件信息
File[] list = dir.listFiles();
for (File file : list) {
//不管是什么,如果是目录,下面有文件,则删除不成功
//如果是文件,或者是空目录,会直接删除的,这里不会报异常的,所有我们不用它
file.delete();
if(file.isDirectory())
{
//采用递归方法进行删除
removeDir(file);
}
}
//最后把自己的目录(空)也删除掉
dir.delete();
}

01.File文件基本操作的更多相关文章

  1. 文件基本操作 (C语言)

    一切皆文件 ---Linux 头文件 <stdio.h> 中定义了文件的相关操作 #include <stdio.h> 文件操作基本流程: 打开:fopen 相关操作 关闭:f ...

  2. Linux 01 Liunx目录结构及文件基本操作

    Linux目录结构及文件基本操作 1.Linux的文件组织目录结构(遵循FHS标准) FHS(Filesystem Hierarchy Standard)标准:多数Linux版本采用这种文件组织形式, ...

  3. java之文件基本操作

    java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...

  4. (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作

    Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...

  5. file的基本操作;file的修改

    file的基本操作 # Author:nadech # 文件读写/修改/ #data = open("yesterday",encoding="utf-8"). ...

  6. Linux 目录结构及文件基本操作

    Linux 目录结构及文件基本操作 实验介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux ...

  7. NO.4day LINUX centos 文件基本操作

    LINUX centos 文件基本操作 1 LINUX简介 Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CP ...

  8. 实验楼学习linux第一章第四节linux目录结构及文件基本操作

    linux目录结构及文件基本操作 常用命令 切换目录 cd 当前目录 . 上一级目录 .. (.和..开头的都是隐藏文件) 查看隐藏文件 ls -a 上一级所在目录 - 当前用户home目录 ~ 获取 ...

  9. 从零开始的Python学习Episode 7——文件基本操作

    文件基本操作 一.打开文件 f = open('11','r')#open('file path','mode') 创建一个文件对象 文件有多种打开模式: 1. 'r':新建一个文件对象以只读方式打开 ...

随机推荐

  1. VS 文件共享

    按照这个顺序:选中项目,鼠标右键菜单==〉添加==〉添加现有项==〉选择相应的文件==〉添加为链接注意,最后一步,添加按钮上有一个表示下拉的小三角,点击它就能看到“添加为链接”选项了.用的是VS201 ...

  2. 我发起了一个 .Net 平台上的 开源项目 知识图谱 Babana Map 和 文本文件搜索引擎 Babana Search

    起因 也是 前几天 有 网友 在 群 里发了   知识图谱   相关的文章, 还有 有 网友 问起   NLog -> LogStash -> Elastic Search  的 问题, ...

  3. 微信小程序 学习资料

    微信小程序 学习资料 资料名称 网址 官方教程 https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18110517

  4. TypeScript 之 基础类型、高级类型

    基础类型:https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html 高级类型:https ...

  5. Abp问题解决集合1

    ABP学习经验 1.   视图中(控制器中直接使用仓储)会遇到使用实体外键,出现数据库连接关闭的错误 初学者经常会犯这样一个错误,没错说的就是我自己,这个问题折腾了我很长世间.还是没有细看文档,对ab ...

  6. pyhanlp 中文词性标注与分词简介

    pyhanlp 中文词性标注与分词简介 pyhanlp实现的分词器有很多,同时pyhanlp获取hanlp中分词器也有两种方式 第一种是直接从封装好的hanlp类中获取,这种获取方式一共可以获取五种分 ...

  7. nusaop 关于webService

    用PHP和NuSoap来建立SOAP服务器非常容易.基本上,你只要写出你想要暴露给你的Web services的函数,然后用NuSoap去注册它们就可以了.OK,另外还需要两步才能完成PHP SOAP ...

  8. c#根据手机号查归属地

    可调用接口参考地址(没有免费的午餐): https://www.juhe.cn/docs/api/id/11 http://vip.showji.com/locating/?m=13606401549 ...

  9. AXI_LITE源码学习笔记

    AXI_LITE源码学习笔记 1. axi_awready信号的产生 准备接收写地址信号 // Implement axi_awready generation // axi_awready is a ...

  10. TensorFlow Saver的使用方法

    我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试.Tensorflow针对这一需求提供了Saver类. Saver类提供了向checkpoint ...