使用Java编写文件操作函数:如何读写文件
Java 是一门具有卓越文本处理能力的面向对象编程语言,它提供了丰富的 API,使得文件的读写变得很简单。本篇文章将介绍如何使用 Java 编写文件操作函数,包括如何读写文件。
1.读文件
Java 中读取文件通常使用 FileInputStream 或 FileReader 类读取。这里我们将使用 FileReader。
public static void readFile(String fileName) {
try {
FileReader fileReader = new FileReader(fileName);
int ch;
while ((ch = fileReader.read()) != -1) {
System.out.print((char) ch);
}
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
上述代码使用 FileReader 读取指定的文件,如果文件打开成功,就逐个字符读取文件内容,并打印到控制台上。注意,如果文件不存在,会抛出 IOException 异常。
2.写文件
Java 中写入文件通常使用 FileOutputStream 或 FileWriter 类写入。这里我们将使用 FileWriter。
public static void writeFile(String fileName, String content) {
try {
FileWriter fileWriter = new FileWriter(fileName);
fileWriter.write(content);
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
上述代码使用 FileWriter 将字符串写入指定的文件中。注意,如果文件不存在, FileWriter 会自动创建文件。如果文件打开成功,会使用 write 方法将字符串写入文件中。最后需要关闭 FileWriter,释放文件资源。
3.读写文件
Java 中读写文件可以使用 RandomAccessFile 类实现随机读写。使用 RandomAccessFile 可以随机读写指定位置的文件内容。
假设我们有一个文本文件,内容如下:
Java Tutorial RandomAccessFile Example
我们可以使用以下代码在第二行插入一行新内容。
public static void insertLine(String fileName, int lineNumber, String content) {
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile(fileName, "rw");
StringBuilder sb = new StringBuilder();
String line = "";
int counter = 0;
long lastPointer = raf.getFilePointer();
while ((line = raf.readLine()) != null) {
if (counter == lineNumber - 1) {
sb.append(content).append(System.lineSeparator());
}
sb.append(line).append(System.lineSeparator());
lastPointer = raf.getFilePointer();
counter++;
}
if (counter < lineNumber - 1) {
sb.append(System.lineSeparator()).append(content);
lastPointer = raf.length();
}
raf.seek(lastPointer);
raf.write(sb.toString().getBytes());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码使用 RandomAccessFile 将新行插入到指定行号。注意,代码中使用 StringBuilder 缓存文件内容,读、写位置使用 RandomAccessFile 的 getFilePointer()、seek() 方法。最后还需要关闭 RandomAccessFile,释放文件资源。
总结
本篇文章介绍了如何使用 Java 编写文件操作函数,包括如何读写文件。通过使用 FileReader 和 FileWriter,我们可以方便地读写字符串和文本文件。通过使用 RandomAccessFile,我们还可以随机读写文件内容。开发者可以根据具体情况选择适当的方法,进行文件操作。
