Netjava Lesson13 文件操作与异常机制
2013.08.03
?
上课内容:文件操作与异常机制
?
这节课我们要讲的是文件操作与异常机制。
我们用过电脑的都知道,我们平时所有的应用程序、文本文档都是文件或者是由一堆文件在一起组成的。
如果用面向对象的思想,我们可以认为文件具有下面几个属性:文件路径,文件名,后缀名等。
而文件有下面几个方法:添加,删除,修改内容,修改后缀名,移动路径等。
这里我们说文件全名,是指带后缀名的文件名。
相对路径是不带盘符的,根目录就在我们的Java Project下,而绝对路径是带盘符的。
?
文件所属的包在java.io里,我们今天要用的是File类,通过API,我们看出File类有很多的方法,我们这里介绍几种最常用的。
首先是构造函数:
File(File parent, String child) 这里输入的是父目录和子字符串。
File(String pathname) 这里输入的是指定路径。
File(String parent, String child) 这里输入的是父路径和子路径
构造函数主要就是这三个,下面介绍一些方法:
首先是创建文件的方法:createNewFile() ,返回boolean值,能够创建有两个前提,一个是指定的目录必须存在,第二个是该文件夹下没有与该文件文件全名相同的文件。
然后我们介绍删除文件的方法:delete(),同样返回的也是boolean值。
判断文件是否存在的方法:exists(),同样也是返回boolean值。
得到文件绝对路径的方法:getAbsolutePath(),返回String类型的,为文件的绝对路径。
//我在文件处理中不小心用了getPath(),结果得到的是相对路径。
还有就是判断该File类对象是否是文件:isFile(),返回的boolean值。
判断该File类对象是否是目录:isDirectory(),返回的boolean值。
当我们要获得目录下所有文件和目录的文件:listFiles(),返回的抽象名路径数组。
当我们要获得磁盘的目录时:listRoots(),返回的是磁盘目录的路径数组。
当我们要创建一个目录时:mkdir(),但前提是必须存在父目录。
当没有父目录时,我们可以用:mkdirs(),这个可以创建很多目录。
文件类中大概就是这些比较常用,要调用其他方法的可以去查API。
?
下面我们介绍一下文件异常机制。
比如说我们要在一个目录下创建一个文件,但是该目录下有与该文件相同的文件名,这时就会抛出异常。
异常用Exception表示,错误用Error表示。一般我们把程序在编译和运行中的错误统称为异常,异常我们可以自己处理,但是错误一般是不能处理的,如文件溢出。
异常类主要有三种:
try{} catch(){}:当我们发现异常时,可以通过try和catch
throw:throw new Exception可以自定义异常
throws:可以向上抛出异常,但是上面必须用异常处理或者接着向上抛出异常,如果主函数也向上抛出异常,就由系统来处理。
?
今天我们要做的练习是要统计你磁盘中所有文件总数或者选择只统计某一种类型的文件或者根据文件名进行统计(多线程)。
我们先来看看效果图吧:

?
首先我们建立一个窗体:
?
下面我们就可以建立线程开始写文件了!
?
1 楼 求求你帮帮我 前天 JComboBox<String> 这个是不是错了,博主?正确的应该是JComboBox 2 楼 felixour 前天 求求你帮帮我 写道JComboBox<String> 这个是不是错了,博主?正确的应该是JComboBox
没有吧,JComboBox里用了泛型,我这里转成了字符串,其实不用应该也可以的。