简单的文件操作
如今很多程序不仅仅涉及到控制台的运行,更是涉及到文件这方面的操作。
对文件的简单操作主要包括以下几个方面:
1. 创建文件或者目录(文件夹)
2. 打开并读取文件中的内容
3. 打开并将自定义内容写入文件中
4. 查找文件(用关键字)
接下来,将用实例代码进行演示说明:
以下是一个文件管理的程序,该程序要是实现的功能主要有读文件,写文件,找文件,建文件。
读文件:
读取文件类的关键字是FileInputStream,即实例化一个FileInputStream对象来实现对文件读取的操作,这里根据java中提供的两种read方法,我将写出两种读取方法:
// 定义一个读文件的方法(一个一个字节的读取)
public void readFile(String fileName) {
try {
//实例化一个 FileInputStream对象 ,表示是对fileName文件进行操作
FileInputStream fis = new FileInputStream(fileName);
//将文件中内容一个一个读出
int c = fis.read();
while (c != -1) {
System.out.println((char) c);
c = fis.read();
}
//关闭文件
fis.close();
} catch (Exception e) {
e.printStackTrace();
} }
注意:1.fis.read();该语句每执行一次将返回至本次读取字节的下一个字节处;
2.当read()读取完内容以后,将返回值-1;
3.read()方法返回值是int而不是byte,这是因为byte的范围为-128至127,存负数,可能与2中冲突
4.考虑到文件的安全性,每打开一次文件就需要关闭文件
// 定义另外一个读文件的方法(整个一起读取)
public void readFile1(String fileName) {
FileInputStream fis;
try {
fis = new FileInputStream(fileName);
try {
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
String s = new String(bytes);
System.out.println(s);
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
写文件:
// 定义一个写文件的方法
public void writeFile(String fileName, String content) throws IOException {
try {
FileOutputStream fos = new FileOutputStream(fileName);
byte[] bytes = new byte[content.length()];
// 该方法将字符串形式转化成字节形式
bytes = content.getBytes();
fos.write(bytes);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
注意:将string类型转化成byte类型的方法是string对象.getBytes();
找文件:
// 定义一个查找文件的方法
public void findFile(File file, String findName) {
// 建立一个file数组来存放指定路径下的文件
File[] sonFile = file.listFiles();
// 如果指定路径下有文件,则在sonFile数组中将有不是null的元素,这时查找
if (sonFile != null) {
for (int i = 0; i < sonFile.length; i++) {
// 需要判断一下sonFile[i]是否是一个标准文件
// sonFile[i]是一个标准文件则执行名字比较操作
if (sonFile[i].isFile()) {
if (sonFile[i].getName().indexOf(findName) != -1) {
System.out.println(sonFile[i].getAbsolutePath());
}
}
// 如果sonFile[i]不是一个标准文件则递归
else {
findFile(sonFile[i], findName);
}
}
}
}
建文件:
// 定义一个创建文件的方法
public void testFile(String fileName) {
System.out.println("testFile执行了!");
File file = new File(fileName);
// 判断该路径是否是一个目录或者是否存在
if (file.isDirectory() || !file.exists()) {
System.out.println("文件/文件夹创立了!");
file.mkdir();
}
// 如果该路径是标准文件了
if (file.isFile()) {
System.out.println(file.getAbsolutePath());
file.renameTo(new File("D:/rename.txt"));
}
}
现在将上述函数整合到一个主函数中
public static void main(String[] args) throws IOException {
FileManager file = new FileManager();
// 用第一种方法读文件
file.readFile("D:/text.txt");
// 用第二种方法读文件
file.readFile1("D:/text.txt");
// 写文件
file.writeFile("D:/write.txt", "hello world!");
// 找文件
file.findFile(new File("D:/"), "txt");
// 创建文件
file.testFile("D:/text.txt");
}
其中FileManager类是自定义实现主函数的类
这样一来,在主函数执行前,路径为“D:/”下的文件如图:
在主函数执行前text.txt文件中的内容如下:
在主函数执行后,运行结果是:
write.txt文件中写入的结果如下:
路径为“D:/”下的文件的结果是:
原本是text.txt的文件变成了rename.txt文件
- 大小: 114.2 KB
- 大小: 22.7 KB
- 大小: 108.6 KB
- 大小: 34.1 KB
- 大小: 32.5 KB
分享到:
相关推荐
PHP 写的一个简单文件操作类,支持 PHP4 PHP5
本文将深入探讨如何在VC++中进行简单的文件操作,包括打开、读取、写入和关闭文件,以及如何根据数据结构解析文件内容。 首先,我们要明白文件操作的基本步骤。在C++中,我们可以使用标准库中的fstream头文件来处理...
Linux/Unix 系统用户登录与退出、IO 重定向与简单文件操作 本实验旨在掌握 Linux/Unix 系统的用户登录与退出、IO 重定向和简单文件操作,熟悉系统的图形界面和字符界面,并了解命令操作方法和I/O 的重定向机制。 ...
模拟实现采用二级目录结构的磁盘文件系统中的文件操作。 文件系统是操作系统中管理和存取信息的机构,它具有“按名存取”的功能,不仅方便用户,而且能提高系统效率且安全可靠。 在用户程序中可使用文件系统提供的...
C结构体和简单文件操作PPT学习教案.pptx
### 知识点详解 #### 一、二级目录结构及其...通过以上分析可以看出,本实习通过模拟实现采用了二级目录结构的磁盘文件系统中的文件操作,不仅加深了对文件系统原理的理解,还锻炼了数据结构设计和算法实现的能力。
Linux操作系统中的文件操作是非常核心的功能,它支持多种类型的文件,包括普通文件、目录、链接文件、设备文件以及套接字等。每种文件类型都有其特定的用途和操作方式。在Linux下进行文件操作时,通常会用到文件描述...
操作系统实验,用C语言实现自己的文件系统。设有一个容量为2M字节的磁盘,磁盘中扇区(block)的大小为512字节,所有扇区可以视为构成一个线形存储空间,从0开始,顺序给每个扇区分配一个编号,视为物理扇区号,借助...
Python 文件简单操作 Python 中对文件、文件夹的操作需要涉及到 os 模块和 shutil 模块。下面将详细介绍 Python 中文件简单操作的知识点。 创建文件 在 Python 中,创建文件可以使用 os 模块的 mknod 函数或 open...
一个简单的文件系统(操作系统课程设计)主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。文件管理具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护功能。...
在内存中模拟一个FAT格式的文件系统,完成文件的创建和索引功能,实现以下命令接口: (1)新建文件,格式:mkfile filename filecontent filename:文件名 filecontent:文件内容(字符) 实现按FAT格式写FAT表...
本项目基于VC++(Visual C++)编程环境,实现了一个简单的文件操作监听器。虽然这个程序能够观察到这些操作,但它并不具备拦截或阻止这些行为的能力,只是一种观察工具。 首先,我们要理解VC++的基础。VC++是...
在这个场景中,我们关注的是一个简单的文件操作,包括文件的创建、读取以及页面间的按键传递处理。我们将深入探讨这些概念,并提供相关的编程实现。 首先,让我们讨论如何在编程中创建文件。在大多数编程语言中,如...
3. 文件操作命令: - `login` 和 `logout`:用于用户登录和注销,确保文件访问的安全性。 - `Create`:创建新文件,需要分配空间并记录文件元数据。 - `Delete`:删除文件,需处理引用计数和释放存储空间。 - `...
通过对具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。 要求: 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件...
项目中遇到一个针对大文件的处理,这里简单化为文件的拷贝,适于初学者学习。设置好两个文件名称后,即可实现拷贝。
本设计的目的是通过设计和调试一个简单的文件系统,通过模拟文件操作命令的执行,来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。具体要求如下: ⑴设计一个...
杭电 操作系统课程设计 简单文件系统的实现 杭电 操作系统课程设计 简单文件系统的实现 杭电 操作系统课程设计 简单文件系统的实现
设计和调试一个简单的文件系统,通过模拟文件操作命令的执行,是理解文件系统工作原理的有效途径。这有助于我们深入理解文件操作的实质,包括它们如何被处理、如何在磁盘上存储以及如何在内存中管理。 首先,我们要...
总之,“C++文件操作工具类”是一个为了提高开发效率和代码质量而创建的实用工具,它将底层的文件操作接口进行了封装,使得在C++项目中处理文件变得更加简单和高效。通过深入理解和运用此类工具,开发者可以更好地...