`
芥末Julie
  • 浏览: 7164 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

Java文件操作与异常机制

 
阅读更多


 文件系统的基本规则:

1.文件全名:包含文件的路径名和扩展名。

2.同一目录下不可能存在同名的目录和真实文件,系统主要有目录类型的文件和真实文件两种。真实文件可以没有扩展名,还有第三种不需要计算的如虚拟内存文件。

3.相对路径指不以路径分隔符开头的文件路径,绝对路径是指以根目录开头的路径。当前目录指相对于程序运行时的目录算起的相对路径。

 

File类(IO包下)的属性:

public static String pathSeparator:当前操作系统的路径分隔符。

public static String separator:当前操作系统的名字分隔符。

 

File类构造器:

File(File parent,String child):在一个父文件(目录)对象下面创建一个名字child的文件对象。

File(String pathname):创建一个指向pathname名字的File对象。

File(String parent,String child):以一个名为parent字符串作为父目录名,创建一个指向名为child文件的文件对象。

 

 

import java.io.File;

/**
 * 
 * 打印某个目录下所有文件和目录的名字
 * @author Administrator
 *
 */
public class FileDisplay {

	/**
	 * @param args
	 */
	//程序主方法
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileDisplay fd=new FileDisplay();
		String dirName="src";
		int count=fd.printDir("src");
		System.out.println(dirName+"目录下共找到文件的个数是:"+count);
		
	}
	//打印的目录下文件名字,并返回文件个数
	public int printDir(String dirName){
		int fileCount=0;
		File dirFile=new File(dirName);
		File[] subFile=dirFile.listFiles();//列表目录
		if(null==subFile||subFile.length==0){//是空目录或文件
			return 0;
		}
		//遍历一级子目录
		for(int i=0;i<subFile.length;i++){
			if(subFile[i].isDirectory()){
				String subDir=subFile[i].getAbsolutePath();
				System.out.println("目录:"+subDir);
				fileCount+=printDir(subDir);//还是目录,调用同样的方法进行计算
			}
			if(subFile[i].isFile()){
				fileCount++;
				String fileName=subFile[i].getAbsolutePath();
				System.out.println("文件:"+fileName);
			}
		}
		return fileCount;
	}

}

 

结果:


 


 

递归时应注意要有退出条件!而且退出条件应该放在递归算法中最开始。不然会进入死循环,导致内存溢出。
 
 
Java异常机制:(吐舌头稍稍百度了一下。。)
异常:Exception,例如类转换异常[ClassCastException](我在用优先队列对哈夫曼树结点排列时遇到过),空指针异常[NullPointerException](经常遇到。。)数组下标越界[ArrayIndexOutOfBoundsException](使用数组时必须要注意到的)。
错误:Error。

 

 
  问题:因为始终没明白为什么要抛出异常,每次我们编程运行时如果有异常的话不是都会告诉我们是什么异常之类的,然后我们自己改不就行了吗,那这样的话为什么要抛出异常还有自定义异常什么的?所以我百度了一下,表示有点点小小的懂了大笑,还需要慢慢理解透彻。觉得异常看起来很简单,但是真的处理起来好麻烦的,我还是不太懂什么时候需要抛出异常。。。。
 
常用的异常类
 (1)
try{
可能抛出异常的代码...
//如果没有问题出现,执行如下面的代码
(A)其他计算代码..
}catch(Exception ef){
//如果出现异常后执行的代码
(B)出现了异常情况的计算代码..
}(finally{
//不管出不出现异常都必须执行的代码
(C)代码...
})(finally 语句可有可无) 
 
(2)(没怎么弄懂,又百度了一下。。)
 throws:
throws是用来声明一个方法可能抛出的所有异常信息
  throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
           
 public void doA(int a) throws Exception1,Exception3{......}

 
 throw
throw则是指抛出的一个具体的异常类型。
 throw是语句抛出一个异常。

语法:throw (异常对象);
        
          throw e;
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通
过throw声明一个具体的异常信息。

throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出
练习:1.统计你磁盘中所有文件总数或者选择只统计某一种类型的文件或者根据文件名进行统计(线程)
结果:


 还没有完成查找指定类型的文件哭。。。
  • 大小: 11.8 KB
  • 大小: 46.2 KB
  • 大小: 62.7 KB
  • 大小: 100.9 KB
分享到:
评论

相关推荐

    浅析JAVA异常处理机制.pdf

    ### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...

    Java\课件\JAVA的异常处理机制.ppt

    Java的异常处理机制是Java编程中至关重要的一部分,它主要用于处理程序在运行时可能出现的各种错误和异常情况。这一机制使得开发者能够优雅地处理错误,而不会让整个程序崩溃。以下是关于Java异常处理机制的详细说明...

    Java 文件操作实现 通讯录

    在Java编程中,实现一个基于文件操作的通讯录是一个典型的文件I/O应用。这个通讯录系统可以用来存储、检索、添加、删除和修改联系人信息。以下是对这一主题的详细阐述: 1. **文件操作基础** Java提供了一系列类来...

    java 文件操作(对文件的输入输出)

    10. **异常处理**: 在进行文件操作时,必须考虑到可能出现的异常,如`FileNotFoundException`、`IOException`等,并通过适当的异常处理机制进行捕获和处理。 在实际开发中,理解并熟练掌握这些知识点是至关重要的,...

    JAVA文件压缩与解压缩实践(源代码+论文)

    综上所述,这个实践项目涵盖了Java文件压缩与解压缩的核心技术,是学习和理解Java I/O和压缩库的宝贵资源。通过阅读源代码和论文,开发者不仅可以学习如何在Java中进行文件压缩,还能了解到如何将这些技术应用于实际...

    java异常处理习题

    * 异常处理可以应用于各种场景,例如数据库操作、文件操作、网络操作等。 * 异常处理可以提高程序的健壮性和可靠性。 十、总结 * 异常处理是 Java 编程语言中的一种重要机制,用于处理程序在运行时可能出现的错误...

    Java学习笔记,异常机制

    Java的异常机制是编程中必不可少的一部分,它帮助开发者在程序遇到错误或不正常情况时能够优雅地处理问题,而不是导致程序崩溃。异常(Exception)是程序运行时出现的非正常状态,比如用户输入错误、文件不存在、...

    java实现windows文件系统操作监控

    以上就是实现"java实现windows文件系统操作监控"所需的主要知识点,包括系统钩子、JNI、文件系统API、事件处理、文件操作、加密算法、多线程和异常处理等。在实际开发中,需要根据具体需求进行适当的调整和优化,以...

    JAVA文件操作代码

    以上是Java文件操作的基本用法,实际应用中还需要考虑异常处理、权限控制和多线程同步等问题。在进行文件操作时,确保对可能出现的异常进行妥善处理,以保证程序的稳定性和安全性。同时,合理利用IO流的缓冲机制可以...

    java 文件管理器

    4. **多线程**:为了实现文件操作的并行性,开发者可能使用了Java的多线程机制。这使得用户可以在进行耗时操作(如大文件复制)时仍可以继续使用其他功能,提高了用户体验。 5. **事件监听**:在GUI应用中,按钮...

    JAVA的异常处理机制

    3. **由Java方法引发的异常**:这是指程序中显式抛出的异常,如文件未找到(`FileNotFoundException`)或输入输出异常(`IOException`)。这些异常通常是在程序设计时已经预见到的,因此需要通过捕获来处理。 #####...

    Java异常处理机制的静态编译实现与优化

    通过实现本文提出的Java异常机制的静态编译算法,Open64编译器可以正确编译Java程序。 栈展开是被编译器和Java虚拟机普遍使用的一种实现异常处理机制的方法。本文针对传统的栈展开算法中存在的不足,提出了一种改进的...

    Java语言与面向对象程序设计第16讲(异常处理,多线程和流式输入输出与文件处理)

    【Java异常处理】Java异常处理是程序中必不可少的一部分,它是一种结构化错误处理机制,用于处理程序运行时可能出现的错误情况。异常(Exception)是Java中的一个类,它表示程序运行过程中发生的不可预期的错误。当...

    java基础第七章内部类与异常类.doc

    Java 基础第七章内部类与异常类 Java 语言支持在一个类中定义另一个类,这样的类称做内部类。内部类和外嵌类之间存在着紧密的关系:内部类可以访问外嵌类的成员变量和方法,而外嵌类也可以使用内部类声明的对象作为...

    Java版文件系统

    在Java编程环境中,...开发者可以构建一个功能完备且健壮的Java版文件系统,虽然它可能无法完全替代操作系统内的原生文件系统,但作为教学或研究目的,这样的项目无疑能深入理解文件系统的工作原理和Java的I/O机制。

    Java异常处理机制及其在项目中的应用.pdf

    2. 文件操作:使用 Java 异常处理机制可以捕获文件操作中的错误,例如文件不存在或访问权限不足。 3. 网络通信:使用 Java 异常处理机制可以捕获网络通信中的错误,例如连接超时或数据传输错误。 Java 异常处理机制...

    java throw抛出异常实例二

    总的来说,`throw`关键字是Java异常处理机制的重要组成部分,它使得我们可以优雅地处理程序中的错误和异常情况,确保程序的健壮性和稳定性。通过对`ThrowException_02.java`的深入分析,我们可以更好地理解`throw`的...

    深入理解java异常处理机制Java开发Java经验技巧共

    Java异常处理机制是Java编程中不可或缺的一部分,它提供了一种有序地处理程序错误和异常情况的方法。这篇19页的PDF文档《深入理解java异常处理机制Java开发Java经验技巧共》可能涵盖了Java异常处理的基本概念、最佳...

    java 连接 FTP 文件操作(上传,下载,删除,复制

    在IT行业中,Java是一种广泛应用的编程语言,尤其在文件操作和网络通信方面有着广泛的应用。...在实际应用中,还需要考虑异常处理、重试机制、文件传输进度显示等细节,以确保程序的健壮性和用户体验。

    JAVA 操作文件,读写。

    1. **IO流概念**:Java的IO流是一个数据传输机制,它允许程序与外部资源(如文件、网络连接或内存缓冲区)进行交互。IO流分为字节流和字符流,字节流处理原始的字节数据,而字符流处理字符编码的数据。 2. **File类...

Global site tag (gtag.js) - Google Analytics