之前学的IO流都是基础的东西,而且在操作上都仅限于读和取,况且还不是那么的细,所以今天学习的File类对象主要就是能够把文件对象化,并能够轻松的读取或者操作其中的诸如:文件名、创建/修改时间和文件夹路径等等这些细分的功能。
请看例子
import java.io.File; public class FileDemo { /** * @param args */ public static void main(String[] args) { constructorDemo(); } public static void constructorDemo() { //可以将一个已存在的,或者不存在的文件或者目录封装成file对象。 File f1 = new File("E:\Text.txt"); File f2 = new File("E:\","a.txt"); File f = new File("E:\"); File f3 = new File(f,"Text.txt"); File f4 = new File("E:"+File.separator+"Eclipse"+File.separator+"工作台"+File.separator+"liangk.txt"); System.out.println(f4); } }
以上是最基本的一些方法和用法。
当然,比如你需要制定一个类型的文件来展示,就可以使用文件过滤器来进行处理。
首先创建一个过滤器
import java.io.File; import java.io.FilenameFilter; public class FilterByJava implements FilenameFilter { @Override public boolean accept(File dir, String name) { return name.endsWith(".txt");//过滤掉txt以外的文件 } }
然后定义一个File对象来使用
import java.io.File; importfilter.FilterByJava; public class FileListDemo { /** * @param args */ public static void main(String[] args) { listDemo_2(); } /* * 创建指定文件过滤器(全自动) */ public static void listDemo_3() { File f = new File("E:\Eclipse\工作台"); File[] files = f.listFiles(new FilterByJava()); for (File file : files) { System.out.println(file); } } public static void listDemo() { /* * 获取当前目录下的文件以及文件夹的名称,包含隐藏文件。 * 调用list方法的File对象中封装的必须是目录,否则会发生空指针异常 * 如果访问的是系统级目录也会发生空指针异常 * * 如果目录存在但是没有内容,会返回一个数组,但是长度为0 * */ File f = new File("d:\"); String[] names = f.list(); for(String name:names){ System.out.println(name); } } }
当然了,File对象还有很多功能,大家可以在API文档里慢慢去看,慢慢去练习,智言在这里就不在演示了。
很不错的网站,交换友情链接不,最励志网:http://www.zuilizhi.net
java,好高级的语言呀。
为什么这么说?