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. python学习【第十一篇】网络编程

    一.socket的简介 socket(简称:套接字)进程间通信的一种方式,它与其他进程间通信的一个主要不同是:能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通 ...

  2. 【BZOJ2034】[2009国家集训队]最大收益 贪心优化最优匹配

    [BZOJ2034][2009国家集训队]最大收益 Description 给出N件单位时间任务,对于第i件任务,如果要完成该任务,需要占用[Si, Ti]间的某个时刻,且完成后会有Vi的收益.求最大 ...

  3. Linux安装mysql8.*

    分别在Linux和windows上安装mysql8.* 环境 CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 第一部分 CentOS7安装mysql8 1 ...

  4. 网络摄像机进行互联网视频直播录像方案的选择,EasyNVS or EasyCloud or EasyGBS?

    背景需求 互联网视频直播越来越成为当前大势:直播的需求往往都伴随在录像的需求,对于录像,不同的场景又有不同的方案选择: 本篇博客将会介绍对应的几种录像方案,可以帮助有互联网录像需求的用户进行对应的录像 ...

  5. 自制的几个jquery插件

    1.颜色插件,比用css方便些 //1.插件编写 ;(function ($) { $.fn.extend({ "color":function(value){ return th ...

  6. hctf2016 fheap学习(FlappyPig队伍的解法)

    目录 漏洞原理 二次释放 如何在第二次释放前修改函数地址 fastbin的特性 修改函数指针流程 如何获得进程的加载基址 格式化字符串漏洞 确定printf函数在代码段中偏移 printf函数输出想要 ...

  7. 网络安装CentOS6.4

    第一步:所需工具安装包下载地址: http://115.com/file/antbtamu#网络安装CentOS.rar(或者下载NetbootM.exe和hfs.exe) 第二步:将CentOS6. ...

  8. DumpBinary

    stdafx.h #include "targetver.h" #include <stdio.h> #include <tchar.h> #include ...

  9. Django 之 URL(路由)分发机制

    本质 (1):它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表. django-admin.py startproject 运行时,该脚本会自动为你建了一份 URLconf( ...

  10. jQuery中删除节点方法remove()、detach()、empty()分析

    jQuery中提供了三种删除节点的方法:remove().detach().empty(),本文详细分析这三种方法. 最容易区分的是empty(),该方法严格上属于“清空节点”,即删除其子节点,自身并 ...