我们知道在计算机中,最常见的就是“文件”,有些文件里面还包含着文件,有些文件则是可以执行的文件,那么什么是文件。
先阐述一下文件系统的基本规则:
1.文件的全面包含“路径名”和“拓展名”,单独讲一个文件名的时候,是不带路径名的。
2.同一目录下不可能存在同名的文件。
3.相对目录是以“路径分隔符”开头的文件”;
绝对目录则是不带“路径分隔符”的文件,如“D:/qly/..”
当前目录是指相对与程序运行时的目录算起的相对路径;如“src”;
4.注意在不同系统中目录分隔符及路径分隔符不一定相同,如liunx中分别为“/”及“:”;win平台上分别为“\”及“;”。
(因此为了使自己的程序有更好的兼容性,建议将这些分隔符用一定的字符代替,然后在按照系统规则“翻译”成系统自带的分隔符。)
然后我们来介绍一下java中位于java.io包下的File类。通过创建File对象的方法来“增、删、改、查”文件。
File类的属性:
public static String pathSeparator
public static String separator
分别表示了当前操作系统的“路径分隔符”与“名字分隔符”,一般使用他们来代替拜编码中的分隔符(为更好的兼容性);
File类的构造器:不实例化成一个实际的文件,仅是生成了一个File类型的对象,当调用到这个对象的时候,这个对象才会关联到磁盘上某个文件。
File类中的重要方法:
blooean exists():File所指向的对象是否存在
String getName():返回文件名(不带路径)
boolean isDirectory():File所指向的对象是否是目录
boolean isFile():File所指向的对象是否是文件
File[] listFiles():当前文件下一级的所有目录与文件作为一个数组返回
static File[]listRoots():返回根目录所在的盘符
boolean mkdir():根据File对象的名字创建一个目录
boolean mkdirs():如果File对象名字有多级目录。可以一次性创建;
boolean delete():从磁盘上删除File对象所指向的文件
boolean createNewFile():根据File对象的名字创建一个新的真实文件;
接着插入一个算法的概念:递归。
可以这么想:递归其实与一般方法没有太大不同,只是方法名与本身的方法名相同而已,这样与方法内的算法更加相同。
实例:用递归算法搜索文件(因为在一个目录下我们不知道其有多少级目录和每级目录的文件个数):
java中的异常机制:
java中的异常概念也被设计成一个类,即java.lang包下的Exception类。平时所见的异常一般是其子类。(注意,异常不是错误,不是error)
当程序出错时,我们可以在代码中得到一个Exception对象,如try...catch块。
简单介绍下try...catch块:
try{
可能抛出异常的代码....
//如果没有问题处理,则执行下面的代码
(A)其他计算代码
}catch(Exception ef){
//如果出现异常后执行的代码
(B)出了异常的计算代码
}
注意:
//如果代码执行成功,程序流程正常,(B)块不好执行;
//如果(A)前面的代码有异常情况,(A)处不执行;
//ef.printStackTrace()方法可以打印出详细情况
//注意{}内的变量只在{}内有效;
//如果方法有返回值,那么try与catch内部都须有返回值;
分享到:
相关推荐
- 使用`try-catch`捕获异常,处理文件操作可能出现的问题,如文件不存在、权限不足等。 - 使用`using`语句自动释放资源,确保文件流、XML读写器等在使用后被正确关闭。 8. **安全性**: - 文件访问权限:了解并...
本文将深入探讨如何在VC++中进行简单的文件操作,包括打开、读取、写入和关闭文件,以及如何根据数据结构解析文件内容。 首先,我们要明白文件操作的基本步骤。在C++中,我们可以使用标准库中的fstream头文件来处理...
4. **错误处理**:在遇到文件操作异常时,提供适当的错误信息,帮助开发者调试。 5. **文件重命名**:方便地更改文件名。 6. **目录操作**:创建、删除目录,遍历目录结构。 7. **文件大小查询**:获取文件的大小...
在进行文件操作时,应始终考虑可能出现的异常,例如文件不存在、无权限或磁盘满等。可以使用`try-catch`块来捕获并处理这些异常。 ```csharp try { // 文件操作代码 } catch (FileNotFoundException fnfEx) ...
5. 打开文件(Open)、关闭文件(Close)、读文件(Read)和写文件(Write):这些基本的文件操作涉及文件的I/O流管理和缓冲区管理。打开文件时需要检查文件是否存在以及用户是否有权限;读写文件需确保数据正确传输...
这将涉及文件操作的异常处理、错误检测和修复策略。通过这个实验,我们将对操作系统中的文件系统有更直观和深入的理解,同时提升C++编程能力。 总的来说,这个实验涵盖了操作系统中的核心概念,如文件I/O、文件元...
7. **文件操作接口**:操作系统提供的文件操作接口,如open、read、write、close、unlink等,是用户与文件系统交互的桥梁。在模拟系统中,需要实现这些接口,处理各种可能出现的异常情况。 8. **实验报告**:实验...
文件操作类库通常会包含错误处理机制,当文件操作失败时抛出异常,而不是简单地返回错误代码。这使得程序更具可预测性,更易于调试。 5. **性能优化** 高级文件操作类可能包括缓存机制,减少不必要的磁盘I/O,...
在C++中,我们可以使用fstream库来处理文件操作,例如`ifstream`和`ofstream`类用于读写操作,而`remove()`函数用于删除文件。 3. **目录操作**:创建和删除目录,以及列出目录下的内容。这可能涉及到动态数据结构...
5. 模块化设计:良好的模块化设计可以帮助我们分离关注点,例如,可以有一个模块专门处理目录操作,另一个模块处理文件操作,还有模块负责权限管理。 6. 错误处理和异常处理:在实现过程中,必须考虑到可能出现的...
在Python编程中,文件操作和异常处理是两个不可或缺的核心概念。了解并熟练掌握这两个主题,可以使你的代码更加高效且易于维护。以下是对这两个概念的详细解释。 ### 文件操作 Python提供了丰富的内置函数来处理...
4. **CFileException**:用于处理文件操作中可能抛出的异常。 现在,我们分别看看如何使用MFC进行文件的复制、删除和创建: ### 文件复制 在MFC中,文件复制通常通过`CopyFile`函数实现,但为了更好地控制和处理...
文件操作工具类主要用于简化和标准化与文件交互的流程,包括但不限于文件的创建、读取、写入、追加、删除以及更复杂的IO操作。以下是对这些知识点的详细阐述: 一、文件创建 在编程中,我们通常会使用特定的API或...
在C#中,`System.IO`命名空间提供了丰富的类来处理文件操作。例如,`File`类提供了静态方法用于读写文件,而`StreamReader`和`StreamWriter`则用于流式读写。 1. **读取文本文件**: 使用`File.ReadAllText()`或`...
总结,Python的文件操作和异常处理是编写高效、稳定程序的关键技能。通过使用内置函数、字符串方法和数据结构,以及良好的异常处理,我们可以编写出能够处理各种情况的代码。在实际应用中,这些技能不仅适用于简单的...
《FileMonitor:轻松实现文件操作监控的利器》 在日常的计算机使用中,我们经常需要跟踪和记录文件系统的活动,以便于排查问题、分析软件行为或保护数据安全。这时,一款高效的文件操作监控工具显得尤为重要。本文...
6. **File**: 这也是一个静态类,提供了简单的文件操作,如`File.WriteAllText(path, content)`写入文本文件,`File.ReadAllLines(path)`读取所有行,`File.Copy(source, dest)`复制文件。 在实际开发中,我们还...
8. **异常处理**:Java文件操作涉及的大部分方法都可能抛出`IOException`,因此在实际编程中需要进行适当的异常处理。 9. **文件权限**:Java 7引入了文件权限API,可以检查和修改文件或目录的权限。 ```java File...
在这个"EVC文件操作简单例程"中,我们将探讨如何使用EVC进行基本的文件操作,如打开、修改和保存文件。 在C++编程中,文件操作是一项基本技能,对于任何需要持久存储数据的应用程序都至关重要。EVC虽然已较为古老,...
7. **I/O操作**:文件操作涉及磁盘I/O,这需要熟悉操作系统的I/O模型,如阻塞I/O、非阻塞I/O、异步I/O,并且需要理解中断、缓冲和设备驱动的工作原理。 8. **错误处理**:文件系统需要有良好的错误处理机制,以应对...