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类的更多相关文章

  1. [深入浅出WP8.1(Runtime)]网络编程之HttpClient类

    12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...

  2. IO流,File类的测试........课堂加总结

    package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...

  3. 网络编程之HttpClient类(转)

    12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...

  4. Java IO体系之File类浅析

    Java IO体系之File类浅析 一.File类介绍 位于java.io下的Java File类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等.File对 ...

  5. java io学习之File类

    1.先看下四个静态变量 static String pathSeparator The system-dependent path-separator character, represented a ...

  6. java io知识点汇总FIle类

    1.路径分隔符问题: 因为java有跨平台行,而在windows和linux中的目录分隔符是不同的.windows是"\" 而linux是"/"  所以必须想办 ...

  7. 【Java IO流】File类的使用

    File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...

  8. IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)

    1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public  ...

  9. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

随机推荐

  1. PyTorch 自动微分

    PyTorch 自动微分 autograd 包是 PyTorch 中所有神经网络的核心.首先简要地介绍,然后将会去训练的第一个神经网络.该 autograd 软件包为 Tensors 上的所有操作提供 ...

  2. cuSPARSELt开发NVIDIA Ampere结构化稀疏性

    cuSPARSELt开发NVIDIA Ampere结构化稀疏性 深度神经网络在各种领域(例如计算机视觉,语音识别和自然语言处理)中均具有出色的性能.处理这些神经网络所需的计算能力正在迅速提高,因此有效 ...

  3. CUDA运行时 Runtime(二)

    CUDA运行时 Runtime(二) 一. 概述 下面的代码示例是利用共享内存的矩阵乘法的实现.在这个实现中,每个线程块负责计算C的一个方子矩阵C sub,块内的每个线程负责计算Csub的一个元素.如 ...

  4. 什么是视觉Visual SLAM

    什么是视觉Visual SLAM What Is Visual SLAM? What are the origins of visual SLAM? and what are some other a ...

  5. 深入理解java虚拟机笔记Chapter12

    (本节笔记的线程收录在线程/并发相关的笔记中,未在此处提及) Java内存模型 Java 内存模型主要由以下三部分构成:1 个主内存.n 个线程.n 个工作内存(与线程一一对应) 主内存与工作内存 J ...

  6. 剑指 Offer 06. 从尾到头打印链表

    链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/ 标签:链表 题目 输入一个链表的头节点,从尾到头 ...

  7. 【NX二次开发】Block UI 选项卡控件

    [NX二次开发]Block UI 选项卡控件

  8. 【NX二次开发】多种变换

    变换的种类: uf5942 矩阵乘积变换 uf5943 平移变换 uf5944 缩放变换 uf5945 旋转变换 uf5946 镜像变换 最后使用 uf5947 实现uf5942-uf5946的变换. ...

  9. 04:全局解释器锁(GIL)

    1 全局解释器锁(GIL) 0 pypy(没有全局解释器锁) cpython(99.999999%)    -pypy python好多模块用不了,1 全局解释器锁,GIL锁(cpython解释器的问 ...

  10. 会点自动化就要25k? 现在年轻人这么浮躁吗

    面试中一问元素定位就对答如流.一问实际项目框架如何搭建就避重就轻.含糊其辞,这样的自动化实战能力也能拿25K?静待下文: 一.为什么现在自动化测试工资那么高呢? 结合现在的职场环境与企业用人需求,自动 ...