package IoDemo;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays; /**
* @Title:IODemo
* @Description:File类的使用
* @author Crazy-ZJ
* @data 2017年9月21日下午2:31:10
* @book 疯狂java讲义(第三版):
*/
public class IODemo {
public static void main(String[] args){
//File类表示一个文件或目录
/**
* 三种分隔符:
* 1."F:/test/test.txt" \ 本身表示转义所以不能使用\ 只能使用/
* 2."F:\\test\\test.txt" 如果非得要使用\ 就必须使用两个\即 \\ 这样才能表示一个\
* 3."F:"+File.separator+"test"+File.separator+"test.txt" 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。
*/
File f1 = new File("F:"+File.separator+"test"+File.separator+"test.txt");
if(!f1.exists()){//判断文件是否存在,f1这个对象已经创建是存在的
try{
f1.createNewFile();//createNewFile() 创建新的文件
System.out.println("文件创建成功!");
} catch(IOException e){//基本上所有的文件流操作都会报IOException异常
e.printStackTrace();
}
}
//isFile() 判断是否为文件 isDirectory()判断是否为文件夹
System.out.println("是否为文件夹:"+f1.isDirectory()); File f2 = new File("F:\\test\\test");//要删除这个文件夹,必须先删除文件夹中的文件,否者删除失败
boolean b = f2.delete();
System.out.println(b); String[] names = f2.list();//列出当前目录下的所有文件名
System.out.println(Arrays.toString(names)); File[] fs=f2.listFiles();//列出当前目录下的所有文件,以file对象返回
for(File f : fs){
System.out.println("文件名称:"+f.getName());
System.out.println("文件长度:"+f.length());
System.out.println("相对路径:"+f.getPath());
System.out.println("绝对路径:"+f.getAbsolutePath()); } // System.out.println("--------------");
//查找特定文件
File f5 = new File("F:\\test\\test");
/* File[] files = f5.listFiles(new FileFilter(){
@Override
public boolean accept(File pathname){
return pathname.getName().endsWith(".txt");
}
});*/
File[] files = f5.listFiles((pathname) -> pathname.getName().endsWith(".txt"));//lambda 表达式写法
System.out.println("-------------");
for(File f:files){
System.out.println(f.getName());
}
}
}
  1. File类:表示文件和目录名的抽象表示形式
  2. File类可以实现文件的创建,删除,重命名,得到路径,创建时间等操作,是唯一与文件相关的操作类。详见Java API
  3. File类的操作方法

      1.public static final String separator     表示路径分隔符 "\"

      2.public File(String pathname)     构造File类实例,要传入路径

      3.public boolean createNewFile()  创建新的文件

      4.public boolean delete()          删除文件

       5.public boolean isDirectory()    判断给定的路径是否是文件夹

        6.public boolean isFile()      判断给定的路径是否是文件

      7.public  String list()         列出文件夹中的文件

      8.public File[] listFiles()      列出文件夹中的所有文件

      9.public boolean mkdir()      创建新的文件夹

      10.public boolean renameTo(File Test) 为文件重命名

      11.public ling length()        返回文件大小

      12public getPath()          路径名字符串

Java之File文件类的更多相关文章

  1. Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】

    File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...

  2. File文件类

    目录 File文件类 File类的构造方法 File类的创建功能 File类的重命名 File类的删除功能 File类的判断功能 File类的获取功能 文件名称过滤器 File文件类 File:文件和 ...

  3. Java7 新特性 —— java.nio.file 文件操作

    本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变 ...

  4. Java读写资源文件类Properties

    Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置.  注 ...

  5. IO概述、异常、File文件类_DAY19

    IO概述: 操作数据的工具 IO流,即数据流,数据像水流一样通过IO工具进行传输. 程序  <IO>   硬盘 绝对路径与相对路径 1:异常(理解) (1)就是程序的非正常情况. 异常相关 ...

  6. Java IO file文件的写入和读取及下载

    一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定一个true值作为F ...

  7. 系统学习 Java IO (三)----文件类 File

    目录:系统学习 Java IO---- 目录,概览 Java IO API 中的 File 类可以访问基础文件系统. 使用 File 类,可以: 检查文件或目录是否存在. 如果目录不存在,创建一个目录 ...

  8. java:file文件类

    public class FileDemo { public static File file; public static void main(String args[]) { String s = ...

  9. java中 File文件常用操作方法的汇总

    一.IO流: 1.全称为:Input Output---------输入输出流. 输入:将文件读到内存中. 输出:将文件从内存中输出到其他地方. 2.IO技术的作用: 主要是解决设备与设备之间的数据传 ...

随机推荐

  1. VS2010编译报错FileTracker error FTK1011

    系统重装,TFS重新映射,编译项目报错,出现 FileTracker error FTK1011,折腾半天未搞定,网上找到答案,可能是路径更改导致(未验证): 修改MSNET.Framework 目标 ...

  2. linux /etc/security/limits.conf的相关说明

    暂时粘贴他人的地址,后续会整理后放出. 原文地址:http://blog.csdn.net/taijianyu/article/details/5976319

  3. 新手之使用git

    本篇博客针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正: 关于GitHub的强大此处不在说明,知道GitHub也有一段时间了,但是一直苦于不会使用. 本篇文章介绍的是如何将工程代码托管到上面 ...

  4. Java线程的5种状态及切换

    ava中的线程的生命周期大体可分为5种状态. 1. 新建(NEW):新创建了一个线程对象. 2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方 ...

  5. Java基础 - 流程控制语句

    package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...

  6. Vue父组件调用子组件的方法

    vue中如果父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用,例如: 父组件: <template> <div @click ...

  7. MySQL中myisam和innodb的主键索引有什么区别?

    MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址.下图是MyISAM索引的原理图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索 ...

  8. xlwt 模块 操作excel

    1.xlwt 基本用法 import xlwt #1 新建文件 new_file = open('test.xls', 'w') new_file.close() #2 创建工作簿 wookbook ...

  9. (4.13)SQL Server profile使用、数据库优化引擎顾问使用

    SQL Server profile使用技巧 介绍 经常会有人问profile工具该怎么使用?有没有方法获取性能差的sql的问题.自从转mysql我自己也差不多2年没有使用profile,忽然prof ...

  10. Sql多条件排序

    多条件排序可以通过在order by语句后面使用case when then条件语句来实现. end 例子: 1.创建表case_test 共有id,case_type,case_location,c ...