`
Kslsi
  • 浏览: 22562 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

实现在根目录下统计文件数量及java中的异常

    博客分类:
  • java
阅读更多

       在本次集训的倒数第二节课,我们学习了文件(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()的差别:调用前者时,会将输入框中只之前的内容删除然后添加(个人认为相当于全选任何粘贴),而后者是在输入框之前的内容的末尾直接添加。

            当然,现在的统计查找只是实现了根据磁盘路径查找,至于文件名和文件类型的查找还没有实现,当然这会在以后的学习中慢慢实现的。(补:在几天之后,终于搞定了文件名、文件类型的查找,好开心~~)

 

       也差不多就这样了,现在慢慢发现,学习是不能操之过急的,但是也不能拖拖拉拉,尽量做到今日事今日毕。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics