`
Kslsi
  • 浏览: 23615 次
  • 性别: 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()的差别:调用前者时,会将输入框中只之前的内容删除然后添加(个人认为相当于全选任何粘贴),而后者是在输入框之前的内容的末尾直接添加。

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

 

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

分享到:
评论

相关推荐

    编写一个java应用程序,将一个包含多个子目录和文件的目录复制到另外一个指定的目录下

    5. **统计信息**:在代码中看到的`num01`和`num02`变量用于统计目录中的文件夹和文件数量,而`size`变量用于统计目录的总大小。这些统计信息可以在程序执行过程中动态更新,以便用户了解复制进度。 6. **日期格式化...

    Java编写在某一磁盘下遍历所有

    类中定义了两个静态变量`fileCount`和`dicCount`,分别用于统计遍历过程中的文件数量和目录数量。这两个变量在遍历过程中动态更新,最后在控制台输出。 2. **主方法(main方法)**: `main`方法是程序的入口点。...

    java基于命令台的文件查找小程序FileLookup

    - 在遍历过程中,记录不同后缀类型的文件数量,使用HashMap或其他数据结构存储后缀与计数的关系。 - 按照后缀分组并统计计数,可以使用Java 8的Stream API来简化这部分代码。 6. **命令行参数处理**: - 使用`...

    遍历某文件夹下的 .txt 文件

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结出与“遍历某文件夹下的 .txt ...通过上述知识点的学习,可以更好地理解如何在 Java 中遍历文件夹并处理其中的文件,特别是在针对特定文件类型的需求场景下。

    java工具类之实现java获取文件行数

    在Java编程中,有时我们需要统计一个项目中的源代码文件的各种指标,例如文件的总行数、代码行数、注释行数以及空行数。这个任务可以通过创建一个工具类来实现,具体步骤如下: 首先,定义一个名为`JavaCode`的类,...

    获取项目源代码行数java类

    首先,我们来看压缩包中的"LineCounter.java"文件,它很可能是实现代码行计数功能的核心类。这个类可能会包含以下关键部分: 1. **文件读取**:为了计算代码行数,我们需要遍历项目中的所有文件。这通常通过`java....

    如何遍历文件夹查找文件

    根目录位于顶部,下面可以有子目录,子目录下还可以有更深层的子目录,以此类推。遍历文件夹就是沿着这个目录树逐级向下查找。 2. **编程语言支持**:不同的编程语言提供了不同的API(应用程序接口)来实现文件和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    iteye的技术博客集合

    - **Java 如何读取 src 根目录下的属性文件**:这部分介绍了如何在 Java 项目中读取位于 src 目录下的属性文件。 - **Java.lang.IllegalStateException: Cannot call sendError() after the response has**:这部分...

    ECS运维指南之Linux系统诊断.pdf

    5. 确保根目录及关键子目录的权限设置正确,某些目录权限设置为777可能会导致启动或ssh登录异常。 6. 检查系统中常见关键目录是否存在,例如/bin、/sbin、/lib等,以及这些目录中的文件数量是否与正常运行的系统相...

    超经典运维指南之Linux系统诊断.pdf

    5. **关键目录缺失**:缺少关键目录如/bin、/sbin、/lib等,或者这些目录中的文件数量异常,都可能影响系统正常启动。 6. **配置参数问题**:系统配置文件参数设置不当,如/etc/sysctl.conf、rc.local、vm.nr_huge...

    Linux系统故障排查手册【云主机ECS版】.pdf

    - 关键目录的缺失,如/bin、/sbin、/lib等,或者文件数量异常也可能导致启动失败。 4. **SELinux安全策略** - CentOS上的SELinux安全模块可能阻止正常启动。关闭SELinux可以解决此问题,但出于安全考虑,不推荐...

    藏经阁-ECS运维指南 之 Linux系统诊断-96.pdf

    6. 常见的关键目录缺失,有的是软链,也可以看看对应目录下面的文件数量(文件数量要跟同内核版本或者相差不大的版本对比),简单判断。 7. 影响启动的参数。如果参数设置不当,是会导致启动异常的,如 /etc/sysctl....

    javase 英语总结.docx

    daily, split, offset, root, create, execute, read, write, exist, directory, hidden, modified** - 示例、每日、分割、偏移、根、创建、执行、读、写、存在、目录、隐藏、修改:这些词汇在编程和日常工作中非常...

    考试系统(JSP为主)

    - `.project` 是Eclipse IDE的项目配置文件,表明这个系统可能是在Eclipse环境下开发的。 - `olts.sql` 可能是数据库脚本文件,用于创建考试系统的数据库结构和初始数据。 - `新建文本文档.txt` 可能是开发过程中的...

    2021-2022计算机二级等级考试试题及答案No.15793.docx

    - **背景介绍**:在Java Web开发中,类文件需要按照特定的目录结构进行组织,以便Web容器能够正确加载。 - **标准目录结构**: - `helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class` - 这意味着类...

Global site tag (gtag.js) - Google Analytics