黑马程序员——javaIO中File的操作与应用

来源:互联网 发布:津上走心机手动编程 编辑:程序博客网 时间:2024/05/09 23:19
    ------- android培训java培训、期待与您交流! ----------  
    在IO技术中File是一个比较重要的类,通过复习渐渐梳理了File类的一些常用用法和注意事项,并且在黑马论坛上看到一哥们为了便于查看把毕老师的视频文件的文件名前部分给删了,本人也结合自己的情况做一些这样的操作,如果您也有这样的需求,欢迎参阅。

    File类的方法众多,我结合实际应用,把它分成一些几类:

    1.构造方法。File的构造函数,File(String pathname),这是最常用的一种,用字符串表示的路径创造一个File实例对象。File(File parent, String child)根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。File(String parent, String child)这个构造函数跟上一个有异曲同工之妙,只不过把路径名用字符串表示了。
    2.创建boolean creatNewFile()在指定位置创建文件。注意,如果该文件已经存在,则不创建,返回false。mkdir() 创建此抽象路径名指定的目录。注意,这个只能创建一级目录。mkdirs() 创建此抽象路径名指定的目录,包括不存在的父目录,也就是说可创建多级目录。
    3.删除 delete() 如果删除成功返回true,否则返回false。
    4.判断 canExecute() 用于判断文件可否执行。如果可以执行,用runtime对象即可运行  exists() 判断文件是否存在,这是个比较常用的方法, boolean isDirectory()  boolean isFile() 这个两个方法对是否是文件或目录进行判断,注意,判断时必须要先判断该文件或目录是否存在。isHidden() 判断文件是否是隐藏文件,isAbsolute()判断是否是绝对路径,compareTo()按字母顺序比较路径。
    5.获取信息 getName()  获得文件名或文件夹名(最后一级目录),getpath()  封装的是什么路径,返回就是什么路径,注意,文件即使不存在也可以获得路径,getParent()返回绝对文件路径下的父目录,length()获取文件的大小,如果是文件夹返回0,File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。 String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
    6.其他 renameTo() 给文件换名。类似于剪切、粘贴。静态的方法 File.listroots() 列出硬盘中有效的盘符的File数组。string[] list()返回当前文件夹下面的所有文件和文件夹(包含隐藏文件),返回字符串数组。string[] list(FilenameFilter filter) 过滤器,只列出指定的文件。File[] listfiles()跟上面相同,只不过返回File对象,实际开发中这个要好些,因为file对象的信息多,listFiles(FileFilter filter)同上。

    下面根据File的一些常用方法做一个实际应用。

    需求:下载的毕老师的视频教程文件名字有点太长了,看后完,想要复习前面的内容,不太好找,还要将鼠标放到文件上等全文件名全部显出来,才能看到后半部分的文件名内容。现在我想要把视频文件名中的公共部分“黑马程序员_毕向东_Java基础视频教程”给去掉。代码如下:
import java.io.*;public class FileRename {public static void main(String[] args) {File file = new File("E:\\IT学习\\java\\毕向东java基础30天视频教程");rename(file);}public static void rename(File file) {File[] files = file.listFiles();for (File f : files) {if (f.isDirectory())rename(f);else {String fileName = f.getName();String filePath = f.getPath();if ((fileName.endsWith(".avi"))&& (fileName.startsWith("黑马程序员_毕向东_Java基础视频教程"))) {File fNew;String reFileName;reFileName = filePath.replaceAll("黑马程序员_毕向东_Java基础视频教程", "");fNew = new File(reFileName);f.renameTo(fNew);}}}}}


原创粉丝点击