java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流。

File类的构造方法:

1、File类创建对象:

利用前三个构造方法创建File类对象:

import java.io.File;

public class FileDemo {
public static void main(String[] args) {
String path1 = "E:\\IO流\\java1";// 第一个参数为对象,第二个为路径
File f1 = new File(path1);
File f11 = new File(f1, "001.txt");
System.out.println(f11); String path2 = "E:\\IO流\\java2";// 要写两个斜线,第一条把第二条转义
File f2 = new File(path2);
System.out.println(f2); String path3 = "E:\\IO流\\java3";
String path4 = "002.txt";
File f3 = new File(path3, path4);// 将一个路径分为两部分,灵活性增强
System.out.println(f3);
}
}

2、File类的常用方法:

(1)返回路径名、文件名和文件大小

package pers.pers.file;

import java.io.File;

public class FileDemo {
public static void main(String[] args) {
String path = "E:\\IO流\\java\\0、实验\\实验二\\汇编语言标志位(CF)及一些常用指令.pdf";// 第一个参数为对象,第二个为路径
File f1 = new File(path);//创建File类的对象
String absPath=f1.getAbsolutePath();//返回绝对路径(即一个文件的全部路径)
System.out.println(absPath); String name=f1.getName();//返回此路径下的文件或目录名称
System.out.println(name); String stringname=f1.getPath();//将抽象路径名转换为字符串
System.out.println(stringname); long size=f1.length();
System.out.println(size);//获取文件大小(字节),不能获取文件夹的大小
}
}

(2)创建文件:

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java\\IO.txt");
System.out.println(file.createNewFile());
}
}

程序运行后,在java文件夹下出现IO.txt文件。

(3)删除路径下的文件或目录:

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java\\IO.txt");
System.out.println(file.delete());
}
}

程序运行后java目录下的IO.txt文件消失。

(4)路径下的文件或目录是否存在

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java");
System.out.println(file.exists());
}
}

(5)测试路径下的文件是否为目录:

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java");
System.out.println(file.isDirectory());
}
}

(6)测试路径下的文件是否是一个标准文件(文件可以,文件夹不行):

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java\\1.txt");
System.out.println(file.isFile());
}
}

(7)创建目录:

package pers.pers.file;

import java.io.File;
import java.io.IOException; public class CreatFile {
public static void main(String[] args) throws IOException {
File file = new File("E:\\IO流\\java\\2.txt");
System.out.println(file.mkdir());
}
}

3、获取路径下的文件:

package pers.pers.file;

import java.io.File;

public class FileDemo1 {
public static void main(String[] args) {
File dir = new File("E:\\IO流\\java");
//返回字符串数组,获取的是目录下的当前的文件以及文件夹的名称。
String[] names = dir.list();
for(String name : names){
System.out.println(name);
}
//获取目录下当前文件以及文件对象
File[] files = dir.listFiles();
for(File file : files){
System.out.println(file);
}
}
}

4、IO流递归输出文件

package pers.zbb.File;

import java.io.File;

public class FileDemo {
public static void main(String[] args) {
File file = new File("E:\\IO流");
getFileAll(file);
} public static void getFileAll(File file) {
File[] files = file.listFiles(); for (File f : files) { if (f.isDirectory()) { getFileAll(f);
} else { System.out.println(f);
}
}
}
}

在输出路径下的文件过程中,递归调用了getFileAll方法,即自己调用自己,如果在遍历路径的时候是文件夹,则会再次调用getFileAll方法,遍历文件夹下的文件路径,输出不是文件夹的文件。

5、文件过滤器:

(1)常用方法:

实现过滤器功能需要先实现FilenameFilter接口:

package pers.zbb.Filter;

import java.io.File;
import java.io.FilenameFilter; public class FilterDemo implements FilenameFilter { public boolean accept(File dir, String name) { return name.endsWith(".txt");
} }

创建测试类,调用listfile方法:

package pers.zbb.Filter;

import java.io.File;

public class Test {
public static void main(String[] args) {
File file=new File("E:\\IO流\\java");
File[] files = file.listFiles(new FilterDemo());
for (File f : files)
System.out.println(f); }
}

(2)抽象路径名的过滤

FileFilter类:

输出文件:

package pers.zhb;

import java.io.File;
import java.io.FileFilter; public class FileFilterDemo implements FileFilter{ public boolean accept(File pathname) { return pathname.isFile();
} }

IO流——File类(文件流类)的更多相关文章

  1. Java IO流之普通文件流和随机读写流区别

    普通文件流和随机读写流区别 普通文件流:http://blog.csdn.net/baidu_37107022/article/details/71056011 FileInputStream和Fil ...

  2. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  3. 使用Java的多线程和IO流写一个文件复制功能类

    创建一个复制功能类,继承Thread类,重写run()方法,把FileInputStream和FileOutputStream输入输出流写在run()方法内.示例代码如下: import java.i ...

  4. Java 基础(四)| IO 流之使用文件流的正确姿势

    为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 IO 流? 想象一个场景 ...

  5. System.IO命名空间,用于文件/流的处理。

    主要类的介绍:1  Path类——静态实用类,用于处理路径名称.2 File类和FileInfo类● File —— 静态实用类,提供许多静态方法,用于移动.复制和删除文件.● FileInfo —— ...

  6. java IO流 (三) 节点流(或文件流)

    1.FileReader/FileWriter的使用:1.1 FileReader的使用 /* 将day09下的hello.txt文件内容读入程序中,并输出到控制台 说明点: 1. read()的理解 ...

  7. HttpRequest获取文件流,HttpResponse输出文件流

    HttpResponse输出文件: Response.Clear(); Response.ContentType = "application/octet-stream"; //通 ...

  8. 09、IO流—File类与IO流

    目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...

  9. Java总结——文件&流

    最近学习了Java的输入输出,脑子里有两点乱,不过比之前的思路好像清晰了很多.脑子刚刚接收这些信息的时候,整个就是懵逼的,又是文件又是流的,文件到底干嘛的,流到底干嘛的?恩,后来,想了想,其实也不难理 ...

  10. .net 流(Stream) - 文件流、内存流、网络流

    转自:http://www.oseye.net/user/kevin/blog/85 一.文件流 FileStream FileStream流继承与Stream类,一个FileStream类的实例实际 ...

随机推荐

  1. Day4 chart基本属性分析

    属性设置是基于chart实例的,所以我们必须先获取一个chart画板实例,获取方式: G2.Chart.创建 Chart 的方式如下: new G2.Chart({ container: {strin ...

  2. 中间件增强框架之InterceptFramework

    本文讲解MOF中的InterceptFramework框架.该框架可以在应用启动过程中获取画像信息,实现应用画像数据采集和存储. 一.前言 在智能运维中,应用服务所使用的组件及JAR包等相关信息非常重 ...

  3. Python爬虫,爬取腾讯漫画实战

    先上个爬取的结果图 最后的结果为每部漫画按章节保存 运行环境 IDE VS2019 Python3.7 先上代码,代码非常简短,包含空行也才50行,多亏了python强大的库 import os im ...

  4. POST提交数据方式

    application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了.浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 app ...

  5. 【Windows Of CCPC HDU - 6708】【打表,找规律】

    题意分析 HDU - 6708 题意:给出一个整数k,要求你输出一个长和宽均为2^k^ 的符合要求的矩阵.比如k等于1时输出 \[ \begin{matrix} C & C \\ P & ...

  6. 启xin宝app的token算法破解——逆向篇(二)

    启xin宝app的token算法破解--抓包分析篇(一)文章已经对该app进行了抓包分析,现在继续对它进行逆向. 对于一个app而言,我们要逆向app,需要知道什么呢? 逆向工具 Java基础,甚至c ...

  7. windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注

     windows的磁盘操作之七--获取当前所有的物理磁盘号 2011-07-28 17:47:56 标签:windows API DeviceIoControl 物理磁盘 驱动器号 原创作品,允许转载 ...

  8. ElasticSearch:常用的基础查询与过滤器

    match_all(获取所有索引文档) quert_string(获取包含指定关键字文档) 默认查询_all字段,_all字段是由所有字段组合而成的,可以通过description:关键字,获取通过请 ...

  9. linux 7忘记密码找回

    一.linux 7忘记密码二种更改方法 centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导.重置密码主要有rd.break和init两种方法. ...

  10. HTML+JavaScript自己动手做日历

    当我们需要在页面中显示某月的事项,或是选择某一段日期时,常常要使用到日历组件.这一组件同样有着许多现成的类库,然而亲自动手开发一个日历,从中了解其实现原理也是非常必要的.在本例中我们就将制作一款非常经 ...