IO—》File类
IO概述
回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等)上。
当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。
当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。
因此我们把这种输入和输出动作称为IO操作。
File类


public static void method1(){
//与系统有关的路径分隔符win;linux:
System.out.println(File.pathSeparator);
//与系统有关的名称分隔符win\linux/
System.out.println(File.separator);
}
构造函数:

public static void method2(){
//File类构造方法不会给你检验这个文件或者文件夹是否真实存在
File file=new File("e:\\test\\a.txt");//绝对路径
File file1=new File("d:","test");
File file2=new File(new File("d:\\test"),"a.text");
System.out.println(file);
}
注意:也可以封装不存在文件或者文件夹,变成对象。
File类的获取
常用方法:

public static void method4(){
//获得本路径目录名或文件名
File file=new File("e:\\test\\a.txt");
System.out.println(file.getName());
//和toString一个作用
System.out.println(file.getPath());
//返回文件的长度(返回的是字节)
System.out.println(file.length());
}
文件和文件夹的创建删除
常用方法:

public class FileMethodDemo2 {
public static void main(String[] args) throws IOException {
// 对文件或者文件加进行操作。
File file = new File("e:\\file.txt");
// 创建文件,如果文件不存在,创建 true 如果文件存在,则不创建 false。 如果路径错误,IOException。
boolean b1 = file.createNewFile();
System.out.println("b1=" + b1);
//-----------删除文件操作-------注意:不去回收站。慎用------
boolean b2 = file.delete();
System.out.println("b2="+b2);
//-----------需要判断文件是否存在------------
boolean b3 = file.exists();
System.out.println("b3="+b3);
//-----------对目录操作 创建,删除,判断------------
File dir = new File("e:\\abc");
//mkdir()创建单个目录。//dir.mkdirs();创建多级目录
boolean b4 = dir.mkdir();
System.out.println("b4="+b4);
//删除目录时,如果目录中有内容,无法直接删除。
boolean b5 = dir.delete();
//只有将目录中的内容都删除后,保证该目录为空。这时这个目录才可以删除。
System.out.println("b5=" + b5);
//-----------判断文件,目录------------
File f = new File("e:\\javahaha");// 要判断是否是文件还是目录,必须先判断存在。
// f.mkdir();//f.createNewFile();
System.out.println(f.isFile());
System.out.println(f.isDirectory());
}
}
listFiles()方法

演示:
public static void method9(){
//获取此路径下所有的文件或文件夹的字符串名称
File file=new File("e:\\test");
String[] files=file.list();
for(String s:files){
File fi=new File(file,s);
if(fi.getName().equals("e")){
fi.delete();
}
}
}
public static void method10(){
File file=new File("e:\\test");
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件
1,指定的目录必须是存在的,
2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException
文件过滤器



首先定义一个实现类来重写accept方法
public class myfilter implements FileFilter{
public boolean accept(File pathname) {
// TODO Auto-generated method stub
/*String name=pathname.getName().toLowerCase();//先全部转换成小写的
boolean flag=name.endsWith(".java");*/
return pathname.getName().toLowerCase().endsWith(".java");
}
}
再利用这个类循环遍历得到结果:
public static void main(String[] args) {
File file=new File("e:\\test");
File[] files=file.listFiles(new myfilter());
for(File f:files){
System.out.println(f);
}
}
IO—》File类的更多相关文章
- java.io.File类
java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ...
- 详解C#中System.IO.File类和System.IO.FileInfo类的用法
System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开 ...
- java.io.File类操作
一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...
- System.IO.File类和System.IO.FileInfo类
1.System.IO.File类 ※文件create, copy,move,SetAttributes,open,exists ※由于File.Create方法默认向所有用户授予对新文件的完全读写. ...
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...
- 【Java基础】【19异常&IO(File类)】
19.01_异常(异常的概述和分类) A:异常的概述 异常就是Java程序在运行过程中出现的错误. B:异常的分类 通过API查看Throwable Error 服务器宕机,数据库崩溃等 Except ...
- [java]借助java.io.File类,完成文件批量改名
列出某目录下的所有文件,将文件改名,借助java.io.File一个类就可以完成.大家可以发现,代码中的具体方法都是File一个类的. 另外要注意的是,File的全路径名,路径是一致的,父路径其实是文 ...
- IO:File类(java.io.File)
public class File extends Object implements Serializable, Comparable<File> 构造方法: public File(S ...
- Java文件与io——File类
概念: File类:表示文件和目录路径名的抽象表示形式. File类可以实现文件的创建.删除.重命名.得到路径.创建时间等等,是唯一与文件本身有关的操作类. 例: public class FileD ...
- java:IO:file 类
刷某一目录下的所有文件夹/文件 public class FileDemo2 { public static void main(String args[]) { File file = new Fi ...
随机推荐
- QUIC/HTTP3 协议简析
从 HTTP 的进化历史讲起,细说使用协议的变迁,了解原因发现问题,解码 QUIC 在 HTTP3 中的支撑作用,共同探讨 HTTP3 的未来. HTTP.HTTP2 和 HTTP3 先和大家来回顾一 ...
- Nginx 反向代理可以缓存 HTTP POST 请求页面吗?
摘要: Nginx 反向代理可以缓存 HTTP POST 请求页面吗? 2017-09-05 景峯 Netkiller 本文节选自<Netkiller Web 手札> 作者:netkil ...
- Python优秀开源项目Rich源码解析
这篇文章对优秀的开源项目Rich的源码进行解析,OMG,盘他.为什么建议阅读源码,有两个原因,第一,单纯学语言很难在实践中灵活应用,通过阅读源码可以看到每个知识点的运用场景,印象会更深,以后写代码的时 ...
- 小程序被冻结,忘记原始ID,如何找回?
登录成功,提示被冻结,选择"账号找回": 阅读须知:账号类型选择“小程序”,需要输入小程序的原始ID,此时已经不记得了~~ 微信:搜索 “ 公众平台安全助手 ” 并关注 点击查 ...
- 嗨,This is G-Aurora
嗨,This is G-Aurora 分享让我们得以持续 在很长一段时间里,自己都是将学习笔记整理到自己的磁盘或者网盘中.大概那个时候还对"开源与分享"不太感冒.但后来越来越觉 ...
- 6.26模拟赛(1)总结(T1:信息传递;T2:传染病控制;T3:排列;T4:最大数)
16:33:56 2020-06-26 当然可以先看一下成绩: 非常显然的成绩不能算有多好,当然其实这也可能是假期水课的报应 (额) 但是比我集训前想象的要好一点(集训时想象的是排名前30就可以,嗯 ...
- The Shortest Statement CodeForces - 1051F 最小生成树+并查集+LCA
题目描述 You are given a weighed undirected connected graph, consisting of n vertices and mm edges. You ...
- Vue中computed的本质及与methods的区别
一.computed的本质? computed为什么不像methods一样加小括号使用? 正常使用computed方式 运行结果 至于为什么computed为什么不像methods一样使用小括号调用, ...
- day54 js基础
目录 一.变量 二.数据类型 1 数值类型(number) 2 字符类型(string) 3 字符类型常用方法 4 布尔值(boolean) 5 null与undefined 6 对象 7 运算符 8 ...
- 查看mysql所有命令