io操作之File类

来源:互联网 发布:主域名服务器 编辑:程序博客网 时间:2024/06/06 19:37
package com.ly.io.file;import java.io.File;import java.io.FileFilter;import java.io.IOException;public class file {public static void main(String[] args) {// TODO Auto-generated method stub/* * ile类描述的是一个文件或文件夹。(文件夹也可以称为目录) * 该类的出现是对文件系统的中的文件以及文件夹进行对象的封装。可以通过对象的思想来操作文件以及文件夹。 * 可以用面向对象的处理问题,通过该对象的方法,可以得到文件或文件夹的信息方便了对文件与文件夹的属性信息进行操作。 * 文件包含很多的信息:如文件名、创建修改时间、大小、可读可写属性等。 *  *  * */File file = new File("F:/项目/io/","file.txt");//File file = new File("F:/项目/io/file.txt");System.out.println(file.exists());try {if(file.createNewFile()) {System.out.println(file.getName()+"创建成功");}else{System.out.println("创建失败");//该文件或目录存在时 就不会再次创建};} catch (IOException e) {// TODO Auto-generated catch blockSystem.out.println("创建失败2");e.printStackTrace();}/*创建的file 所对应的uri地址不存在,所以exists()结果为false,然仍然成功创建了File对象,这时其代表了一个抽象路径 * 构建一个File类的实例并不会在机器上创建一个文件 * createNewFile 创建一个文件 * window路径是\\\头向左的反斜杠   而这里的uri是相反的反斜杠 * 在Windows中分隔符为'\',在Unix/Linux中分隔符为'/'。跨平台的目录分隔符更专业的做法是使用File.separatorChar,这个值就会根据系统得到的相应的分割符。例:new File("c:" + File.separatorChar + "a.txt"); * */File  filea = new File("F:/项目/io/");File  filec = new File("F:/项目/ioo/");//抽象目录System.out.println(filea.isDirectory());System.out.println(filea.mkdirs());//目录本来存在所有并不会创建,返回falsefilea.delete();filec.delete();//删除抽象目录System.out.println("是否目录被删除成功?"+!filea.isDirectory());System.out.println("是否目录被删除成功?"+!filec.isDirectory());//抽象目录同样被删除成功/*isDirectory()判断路径是否存在,换句话讲是否是目录 * 因为   目录不为空  所以删除会失败   */File fileb = new File("F:/项目/io/","readme.txt");File filed = new File("F:/项目/io/","readme2.txt");System.out.println(fileb.isFile());System.out.println(fileb.getName()+fileb.length());//length返回类型为long 单位为字节fileb.renameTo(filed);System.out.println(filed.getName()+filed.length());/*isFile()判断是否是文件 * File对象是不可变的。 创建后它始终表示相同的路径名。当重命名文件时,旧的File对象仍然代表原始的路径名。 * */File filee = new File("F:/项目/io");File[] flist = filee.listFiles();//listFiles获取该目录下的所有文件和目录并返回一个数组for(File file1 : flist) {//枚举这个数组if(file1.isFile()) {System.out.println(file1.getName()+"(file)");}else if(file1.isDirectory()) {System.out.println(file1.getName()+"(directory)");}} file file1 = new file();File[] filef = new File[3] ;filef[0] = filee;file1.listAllfiles(filef, "xml");}public void listAllfiles(File[] file,String end) {//判断该数组里的file是否有以end结尾的for(File fil:file) {String fname = fil.getName().toLowerCase();//filename都化为小写字母if(fname.endsWith(end)) {//判断是否以end结尾System.out.println(fil.getName()+"end with "+end);}}} }