IO编程之File类
File类是java.io包下代表与平台无关的文件及目录,程序操作文件和目录都可以通过File类来完成。值得指出的是,不管是文件还是目录都可以通过File类来操作。File能新建、删除、重命名文件和目录。File本身不能访问文件本身内容。如果需要访问文件内容,则需要输入输出流。
File类测试:
public class FileTest { File f = null; @Before
public void setUp() {
f = new File("G://test//a1.txt");
}
/**
* 操作文件
* @throws IOException
*/
@Test
public void operateFile() throws IOException {
f.createNewFile();//创建文件
f.delete();//创建文件
f.renameTo(new File("G://test//a2.txt"));//重命名
} /**
* 获取文件相关信息
*/
@Test
public void getFileInfo() {
String name = f.getName();//获取文件名
String path = f.getPath();//获取路径
String abPath = f.getAbsolutePath();//获取绝对路径
String parent = f.getParent();//获取父目录
Long l = f.length();//获取文件长度
Long my = f.lastModified();//获取文件最后修改时间
f.isDirectory();//判断是否是文件夹
Calendar cl = Calendar.getInstance();
cl.setTimeInMillis(my);
System.out.print(name+" | "+path+" | "+abPath+" | "+parent+" | "+l+" | "
+cl.getTime().toLocaleString());
} /**
* 操作文件夹
*/
@Test
public void operateDirectory() {
File f = new File("G://test//test1");
f.mkdirs();//创建文件夹
String[] names = f.list();//获取目录下面所有文件的文件名
File[] files = f.listFiles();//获取目录下面索引File对象
}
}
文件过滤器
在File类的list的方法中可以接收一个参数FilenameFilter。同过该参数可以值列出符合条件的文件。FilenameFilter是一个接口,我们使用的时候需要自定以实现类,接口里定义了一个accept(File dir,String name)方法。这个方法会对目录中的所有文件进行迭代,如果该方法返回true.则list方法会列出该文件。
例子如下:
/**
* 文件过滤器,返回以.java结尾的文件或者目录
*/
@Test
public void fileFilter() {
File f = new File("G://test");
String[] names = f.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java") || new File(name).isDirectory();
}
}); for(String name : names) {
System.out.println(name);
}
}
IO编程之File类的更多相关文章
- [深入浅出WP8.1(Runtime)]网络编程之HttpClient类
12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...
- IO流,File类的测试........课堂加总结
package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...
- 网络编程之HttpClient类(转)
12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...
- Java IO体系之File类浅析
Java IO体系之File类浅析 一.File类介绍 位于java.io下的Java File类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等.File对 ...
- java io学习之File类
1.先看下四个静态变量 static String pathSeparator The system-dependent path-separator character, represented a ...
- java io知识点汇总FIle类
1.路径分隔符问题: 因为java有跨平台行,而在windows和linux中的目录分隔符是不同的.windows是"\" 而linux是"/" 所以必须想办 ...
- 【Java IO流】File类的使用
File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
- IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public ...
- java IO(一):File类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- CVPR 2020目标跟踪多篇开源论文(上)
CVPR 2020目标跟踪多篇开源论文(上) 1. SiamBAN:面向目标跟踪的Siamese Box自适应网络 作者团队:华侨大学&中科院&哈工大&鹏城实验室&厦门 ...
- 升级 macOS Big Sur 差点丢了我多年的珍藏文件(夹)!!!
原来升级 macOS Big Sur 过程中会转移根目录下的个人文件(夹). 春节期间升级了一下 macOS ,升级之前就比较担心丢数据,然而怕什么来什么.升级之后发现根目录下的个人文件(夹)都不见了 ...
- ubuntu 如何更改 grub 界面主题
ubuntu 如何更改 grub 界面主题 安装 Liunx 系统的人都知道,系统引导是通过 grub 去引导的,但是 grub 这个界面就很单调,大概是这样子的 这肯定不符合我们潮流青年的审美的~ ...
- python学习笔记03-变量和字符串
变量 变量:把一个值赋值给一个名字时,它会储存在内存中,称之为变量(virable):但在python中并不会储存在变量里,仅仅是类似于给值加了标签 变量的使用规则: 1.使用变量,首先需要给变量赋值 ...
- .Net Core with 微服务 - Seq 日志聚合
上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心,来实现服务的注册与发现.那么本次我们讲会演示如何做日志聚合.日志聚合比较常用的有 ELK 等,但是这次我想要介绍的是一款比较小众 ...
- 动态路由及RIP协议
动态路由及 RIP协议 目录 一.动态路由协议 1.1.定义 1.2.特点 1.3.动态路由协议概述 1.4.度量值 1.5.收敛 1.6.静态路由和动态路由的比较 二.动态路由协议的分类 2.1.距 ...
- Jenkins自动化CI&CD流水线
1 环境说明 主机名称 IP cpu核数/内存/硬盘 安装软件 用途 controlnode 172.16.1.120 2/2/60 git 代码仓库 slavenode1 172.16.1.121 ...
- [Usaco2018 Dec]Teamwork 题解
题目描述 题目描述 在Farmer John最喜欢的节日里,他想要给他的朋友们赠送一些礼物.由于他并不擅长包装礼物,他想要获得他的 奶牛们的帮助.你可能能够想到,奶牛们本身也不是很擅长包装礼物,而Fa ...
- Visual Studio 2010 SP1 中文升级补丁ISO完整版下载 (含多国语言)
最近事情比较多,差点忘记了这个VS2010 SP1的升级补丁更新了,程序员们赶快更新吧!这次发布的SP1包含了下列语言:英文,简体中文,繁体中文,法语,德语,印度语,日语,韩语,俄语以及西班牙语. V ...
- 37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面、UDP校验登录、皮肤更换、3D旋转)
1.版本介绍(已上传至群里) 版本说明: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登录界面之间切换) . 效果图如下所示: 如果效果图加载失败,可以去哔哩哔哩 https:// ...