1. 创建文件
使用 java.io.File
的 createNewFile()
方法来创建文件。
代码示例
import java.io.File; // 导入File类
import java.io.IOException; // 导入IOException异常处理类
public class FileCreateExample {
public static void main(String[] args) {
try {
// 创建File对象,表示文件路径
File file = new File("example.txt");
// 调用createNewFile方法创建文件
if (file.createNewFile()) {
System.out.println("文件已创建: " + file.getName());
} else {
System.out.println("文件已存在。");
}
} catch (IOException e) {
System.out.println("创建文件时发生错误。");
e.printStackTrace(); // 打印错误堆栈信息
}
}
}
代码讲解
import java.io.File;
导入File
类,用于表示文件或目录路径。import java.io.IOException;
导入IOException
异常类,用于处理文件创建可能出现的输入输出错误。File file = new File("example.txt");
创建一个File
对象,表示example.txt
文件。如果传入绝对路径,则表示该路径下的文件。if (file.createNewFile())
调用createNewFile()
方法尝试创建文件。如果文件创建成功,返回true
;如果文件已存在,返回false
。catch (IOException e)
捕获IOException
异常,可能发生的情况包括:- 文件路径无效。
- 没有写入权限。
- 文件名包含不合法字符。
2. 写入文件
使用 FileWriter
写入内容到文件。
代码示例
import java.io.FileWriter; // 导入FileWriter类
import java.io.IOException; // 导入IOException异常处理类
public class FileWriteExample {
public static void main(String[] args) {
try {
// 创建FileWriter对象,表示将内容写入example.txt文件
FileWriter writer = new FileWriter("example.txt");
// 写入第一行内容
writer.write("Hello, Java 文件操作示例!\n");
// 写入第二行内容
writer.write("这是第二行内容。\n");
// 关闭FileWriter,确保内容写入文件
writer.close();
System.out.println("成功写入文件。");
} catch (IOException e) {
System.out.println("写入文件时发生错误。");
e.printStackTrace(); // 打印错误堆栈信息
}
}
}
代码讲解
FileWriter writer = new FileWriter("example.txt");
创建FileWriter
对象,用于将数据写入example.txt
文件。如果文件不存在,会自动创建文件。如果文件已存在,会覆盖其内容。writer.write("Hello, Java 文件操作示例!\n");
使用write()
方法将文本写入文件。\n
是换行符,表示写入新的一行。writer.close();
关闭FileWriter
,确保所有数据被成功写入文件并释放系统资源。注意: 如果不关闭文件,可能会导致数据丢失。catch (IOException e)
捕获可能发生的IOException
,例如磁盘已满、没有写权限等。
3. 读取文件
使用 Scanner
类逐行读取文件内容。
代码示例
import java.io.File; // 导入File类
import java.io.FileNotFoundException; // 导入FileNotFoundException异常类
import java.util.Scanner; // 导入Scanner类
public class FileReadExample {
public static void main(String[] args) {
try {
// 创建File对象,表示要读取的文件
File file = new File("example.txt");
// 创建Scanner对象,用于读取文件内容
Scanner scanner = new Scanner(file);
// 使用循环逐行读取文件内容
while (scanner.hasNextLine()) {
String line = scanner.nextLine(); // 读取当前行
System.out.println(line); // 打印当前行内容
}
// 关闭Scanner对象
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("读取文件时发生错误。");
e.printStackTrace(); // 打印错误堆栈信息
}
}
}
代码讲解
File file = new File("example.txt");
创建File
对象,表示需要读取的文件路径。Scanner scanner = new Scanner(file);
创建Scanner
对象,并将文件作为输入源。while (scanner.hasNextLine())
循环判断是否还有下一行可以读取。String line = scanner.nextLine();
使用nextLine()
方法读取当前行内容,并将其保存为字符串。scanner.close();
关闭Scanner
对象,释放资源。catch (FileNotFoundException e)
捕获文件未找到异常,例如文件路径错误或文件不存在。
4. 删除文件
使用 File
类的 delete()
方法删除文件。
代码示例
import java.io.File; // 导入File类
public class FileDeleteExample {
public static void main(String[] args) {
// 创建File对象,表示要删除的文件
File file = new File("example.txt");
// 调用delete()方法删除文件
if (file.delete()) {
System.out.println("已删除文件: " + file.getName());
} else {
System.out.println("删除文件失败。文件可能不存在。");
}
}
}
代码讲解
File file = new File("example.txt");
创建File
对象,表示需要删除的文件。if (file.delete())
调用delete()
方法删除文件。返回true
表示删除成功,false
表示删除失败。- 删除失败的常见原因:
- 文件不存在。
- 没有权限删除该文件。
- 文件正在被其他程序占用。
5. 文件属性操作
使用 File
类获取文件属性信息,例如文件大小、路径等。
代码示例
import java.io.File;
public class FileAttributesExample {
public static void main(String[] args) {
// 创建File对象,表示目标文件
File file = new File("example.txt");
if (file.exists()) { // 判断文件是否存在
System.out.println("文件名: " + file.getName()); // 获取文件名
System.out.println("文件路径: " + file.getAbsolutePath()); // 获取绝对路径
System.out.println("文件大小: " + file.length() + " 字节"); // 获取文件大小
System.out.println("是否为目录: " + file.isDirectory()); // 是否是目录
} else {
System.out.println("文件不存在。");
}
}
}
代码讲解
if (file.exists())
判断文件是否存在。file.getName()
获取文件的名称,例如example.txt
。file.getAbsolutePath()
获取文件的绝对路径。file.length()
获取文件大小(以字节为单位)。file.isDirectory()
判断当前路径是否是一个目录。
总结
- 异常处理
- 创建文件、写入文件和读取文件时,都可能会抛出异常,必须用
try-catch
处理。 - 常见异常有
IOException
和FileNotFoundException
。
- 创建文件、写入文件和读取文件时,都可能会抛出异常,必须用
- 资源管理
- 打开文件(如
FileWriter
或Scanner
)后,务必关闭资源(调用close()
方法),否则可能造成文件被锁定或资源泄漏。
- 打开文件(如
- 路径问题
- 文件路径可以是相对路径或绝对路径,确保路径合法性。
- 跨平台时,尽量使用
/
或File.separator
。
评论留言
欢迎您,!您可以在这里畅言您的的观点与见解!
0 条评论