普通文件的增删改查
文件的增删改查操作在Java中可以通过java.io包中的File类来完成。
- 文件的创建与添加内容
创建文件的方法:通过File类的构造函数创建File对象,然后调用createNewFile()方法即可创建空文件。如果要在文件中添加内容,可以使用FileWriter类或PrintWriter类中的方法进行写入。
示例代码:
//创建文件
File file = new File("file.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//向文件中添加内容
//要添加内容到Java IO文件中,可以使用以下步骤:
//1. 创建FileWriter对象,传入文件路径和布尔值true以表示追加内容而不是覆盖。
//FileWriter writer = new FileWriter("file.txt", true);
//2. 使用write()方法向文件中写入要添加的内容。
//writer.write("This is new content.\n");
//3. 关闭文件。
//writer.close();
完整的例子如下:
import java.io.FileWriter;
import java.io.IOException;
public class AddToFile {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("file.txt", true);
writer.write("This is new content.\n");
writer.close();
System.out.println("Content has been successfully added to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
- 文件的读取
使用FileReader类或BufferedReader类中的read()方法可以读取文件中的内容。需要注意的是,在读取文件时需要判断文件是否存在,并处理可能的IO异常。
Java中读取文件内容可以使用java.io包中的File类和InputStream类。下面是InputStream一个简单的示例代码:
//读取文件内容
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
File file = new File("test.txt");
try {
FileInputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
inputStream.read(bytes);
String content = new String(bytes);
System.out.println(content);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedReader 示例代码:
```java
//读取文件内容
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
- 文件的修改与删除
要修改Java中的文件内容,您可以按照以下步骤进行操作:
1.使用File类创建文件对象:
File file = new File(“file.txt”);
2.使用FileWriter类创建一个FileWriter对象以便于向文件中写入数据:
FileWriter fw = new FileWriter(file);
3.使用BufferedWriter对象将内容写入到文件中:
BufferedWriter bw = new BufferedWriter(fw);
4.要添加文本,您可以使用bw.write()方法:
bw.write(“Hello World!”);
5.当您完成写操作后,记得要关闭资源,这样可以防止您在操作完成后忘记关闭文件:
bw.close();
6.如果您要读取文件内容并且在读取时修改文件,您可以使用Scanner和PrintWriter类:
Scanner scanner = new Scanner(file);
PrintWriter pw = new PrintWriter(file);
7.使用scanner.nextLine()方法读取文件中的每一行:
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
pw.println(line.toUpperCase());
}
8.使用pw.flush()方法刷新并保存更改,然后关闭资源:
pw.flush();
pw.close();
这就是用Java io修改文件内容的基本步骤。 请注意,这样的操作可能会导致文件中的数据丢失,因此请始终小心操作,确保您备份了重要的文件。
修改文件内容时,可以通过FileWriter类或PrintWriter类中的方法进行覆盖写入。删除文件时,可以使用File类中的delete()方法。
FileWriter 示例代码:
//修改文件内容
try {
FileWriter fw = new FileWriter(file);
fw.write("new content");
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
//删除文件
if (file.exists()) {
file.delete();
}
完整示例代码:
import java.io.*;
public class FileDemo {
public static void main(String[] args) {
//创建文件
File file = new File("file.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//向文件中添加内容
try {
FileWriter fw = new FileWriter(file);
fw.write("hello world");
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
//读取文件内容
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
//修改文件内容
try {
FileWriter fw = new FileWriter(file);
fw.write("new content");
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
//删除文件
if (file.exists()) {
file.delete();
}
}
//删除多级文件夹
public static void shanchu(File sc){
//进入文件夹内
File [] f=sc.listFiles();
//遍历文件夹里边的内容
for (File file:f){
//判断如果是文件的 直接删除
if(file.isFile()){
file.delete();
}
//判断是文件夹的话进行递归
else {
shanchu(file);
}
}
//删除顶层文件
sc.delete();
}
}