在本次集训的倒数第二节课,我们学习了文件(File)和java中的异常机制及其解决方法,文件在我们日常电脑的使用中是非常常见的,所以对于文件的学习也是非常重要的,至于java中的异常,这也是我们在java中经常碰到的,下面我就一一介绍一下:
一、文件
在学习文件后,我们都知道File 类是位于java.io包中,我们可以通过File对象的方法创建文件对象、删除文件、列表目录下的文件,还能判断文件是目录还是正式文件,在文件系统中有它自己的基本规则:
1.文件的全名字包含文件的路径和扩展名,当我们单独讲一个文件的名字的时候,是不带路径和扩展名的文件名;
2.同一目录下是不可能存在同名的目录和真实文件(这个在我们用电脑的过程中应该是深有体会的),在文件系统中主要有目录类型的文件和真实文件(可以不带扩展名),还存在第三种我们不需要计算的虚拟内存文件;
3.相对目录:不以路径分割符开头的文件路径,指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系
绝对目录:以根目录开头的文件路径
当前目录:相对于程序运行时的目录算起的相对路径
4.目录分割符:linux操作系统:“/”
windows:“\”
路径分隔符:linux操作系统:“:”
windows:“;”
因为在不同的操作系统中目录分割符和路径分割符的不同,所以我们在编程的时候不要将其硬编码到程序中,而应用File类提供的相应属性值
至于File类的属性、构造器以及重要方法,大家可以查看API文档,我就不详细介绍了。
二、异常机制
首先,我们要将异常和错误(error)分开,异常是可能(只是可能)由与外部系统的、导致程序运行中断的原因。
目前我们常见的异常有:栈溢出、空指针、数组下标越界等,碰到这些异常后,一般的解决方法是在eclipse的提示中寻找可能异常的位置,再在可能异常位置的前面用输出语句判断(在我们的编程中输出语句不管是在得到程序运行结果还是找错中都是运行特别广泛的)。
在java中还有两种异常机制:try/catch 和 throws,两者的区别: try/catch 是在内部自己解决异常,而throws则是在声明方法中将异常抛出,当另一个方法调用它时,要么用try/catch解决异常,要么再次抛出异常,当每一个方法都抛出异常直到main方法中也声明抛出异常时,这个异常就将提交给JVM,JVM默认控制台就将打印出异常信息后退出程序。
三、练习
还是那句话,实践出真知,然后。。。“凶残”的熊哥就给我们布置了“凶残”的作业:统计磁盘中文件的个数,还得有界面、用事件、还有线程(太凶残了),而且熊哥还不怀好意地坑我们:说用什么JFileCHooser(当我把它添加上界面的时候,再次发现了java的强大,不过。。这对我们的练习一点作用的木有)。当听到作业的时候,恨不得就去撞墙了,,,不过,,,在做完练习之后,觉得也没什么了。
现在看看,练习也不难,只是综合性比较强,代码就不贴了,只是做一点小说明:
1.JTextArea 是一个多行输入框(在之前都只知道单行的,现在也是学习了一点,至于这个,大家还是要多看API文档)
2.JScrollPane,管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口,将实例化的输入框添加到它上面然后实现滚动条
3.setText()和append()的差别:调用前者时,会将输入框中只之前的内容删除然后添加(个人认为相当于全选任何粘贴),而后者是在输入框之前的内容的末尾直接添加。
当然,现在的统计查找只是实现了根据磁盘路径查找,至于文件名和文件类型的查找还没有实现,当然这会在以后的学习中慢慢实现的。(补:在几天之后,终于搞定了文件名、文件类型的查找,好开心~~)
也差不多就这样了,现在慢慢发现,学习是不能操之过急的,但是也不能拖拖拉拉,尽量做到今日事今日毕。
相关推荐
可以统计指定目录下指定文件类型的文件数量及行数 此文件是用jdk1.5编译的.如果说您的jvm不相符.请联系qq:361606472
编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源程序...
android 查找程序根目录下所有文件 java i/o与ListActivity的结合
java中读取目录下指定的文件
Java获取Java所在的根目录,可以在Windows和LINUX两个平台中使用,都可以得到JAVA所在的路径,程序使用JComboBox组合框组件来存放获得的根目录信息,如在Linux 和Unix 系统下组合框只有一项即“/”,截图是Windows...
今天小编就为大家分享一篇关于Java实现实时监控目录下文件变化的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Java循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.doc...
java 实现指定目录下的文件打包zip格式 并指定存放zip包
java实现一个目录下全部文件复制到另一目录。过程主要是 循环第一个目录下的文件,然后输出流到另一个目录。
IBM SPSS Statistics v26.0 注册版,安装程序可官网下载,安装教程见B站“小星课堂”主页
java实现批量递归修改目录下所有文件
使用java语言,实现从某目录下,抓取所有的文件,组成完整的文件路径。
用java8实现一个文件目录的监听,目录中文件创建、修改、删除等操作
java 删除指定目录下的文件 java 删除指定目录下的文件
本文件是将 Java 中 通过远程url访问 转换成 HTML 文件 ,通过 dom4j转换成Java对象元素
一、Shell命令实现 ...二、Java代码实现 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSFileIfExist {
包含了使用的jar包,以及一个Java类,实现了使用Java对多目录多层级的文件进行打包,以及对ZIP包进行解压缩的操作。
Java中删除文件、删除目录及目录下所有文件
知道目录后,可以列出该目录下所属的文件 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; //列出目录下的文件 public class ListFileDemo extends JFrame{ JTextField ...
NULL 博文链接:https://citywu123.iteye.com/blog/731180