在 Java 编程中,文件读写操作是常见的任务之一。FileInputStream 和 FileOutputStream 是 Java 标准库中用于处理文件输入输出的两个重要类。它们分别用于从文件中读取数据和向文件中写入数据。本文将详细介绍这两个类的使用方法、常见应用场景以及注意事项,帮助开发者更好地掌握文件读写的技巧。
什么是 FileInputStream
FileInputStream 是 Java 中的一个类,位于 java.io 包中。它是 InputStream 的子类,用于从文件中读取字节流。通过 FileInputStream,开发者可以逐字节地读取文件内容,或者以块的形式读取数据。
FileInputStream 的作用
FileInputStream 的主要作用是:
文件读取:从文件中逐字节或按块读取数据。
文件处理:适用于处理二进制文件或文本文件。
构造方法
FileInputStream 提供了多个构造方法,用于指定文件路径或文件对象。
示例代码:
// 通过文件路径创建 FileInputStream
FileInputStream fis = new FileInputStream("example.txt");
// 通过 File 对象创建 FileInputStream
File file = new File("example.txt");
FileInputStream fis = new FileInputStream(file);
read() 方法
read() 方法用于从文件中读取一个字节的数据。返回值为读取到的字节值,如果到达文件末尾,则返回 -1。
示例代码:
FileInputStream fis = new FileInputStream("example.txt");
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
fis.close();
read(byte[] b) 方法
read(byte[] b) 方法用于从文件中读取一块数据并存储到字节数组中。
示例代码:
FileInputStream fis = new FileInputStream("example.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
System.out.write(buffer, 0, bytesRead);
}
fis.close();
close() 方法
close() 方法用于关闭文件输入流,释放资源。
示例代码:
FileInputStream fis = new FileInputStream("example.txt");
// 读取文件内容...
fis.close();
什么是 FileOutputStream
FileOutputStream 是 Java 中的一个类,也位于 java.io 包中。它是 OutputStream 的子类,用于向文件中写入字节流。通过 FileOutputStream,开发者可以逐字节地写入数据,或者以块的形式写入数据。
FileOutputStream 的作用
FileOutputStream 的主要作用是:
文件写入:向文件中逐字节或按块写入数据。
文件生成:适用于生成新文件或覆盖现有文件。
构造方法
FileOutputStream 提供了多个构造方法,用于指定文件路径或文件对象。
示例代码:
// 通过文件路径创建 FileOutputStream
FileOutputStream fos = new FileOutputStream("output.txt");
// 通过 File 对象创建 FileOutputStream
File file = new File("output.txt");
FileOutputStream fos = new FileOutputStream(file);
write(int b) 方法
write(int b) 方法用于向文件中写入一个字节的数据。
示例代码:
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write('A');
fos.close();
write(byte[] b) 方法
write(byte[] b) 方法用于向文件中写入一块数据。
示例代码:
FileOutputStream fos = new FileOutputStream("output.txt");
byte[] data = "Hello, World!".getBytes();
fos.write(data);
fos.close();
close() 方法
close() 方法用于关闭文件输出流,释放资源。
示例代码:
FileOutputStream fos = new FileOutputStream("output.txt");
// 写入文件内容...
fos.close();
文件复制
以下是一个简单的文件复制示例,演示如何使用 FileInputStream 和 FileOutputStream 复制文件。
示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("source.txt");
fos = new FileOutputStream("destination.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null) fis.close();
if (fos != null) fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
文件追加写入
以下是一个文件追加写入的示例,演示如何向文件末尾追加内容。
示例代码:
import java.io.FileOutputStream;
import java.io.IOException;
public class FileAppend {
public static void main(String[] args) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream("output.txt", true); // 第二个参数为 true 表示追加
String data = "Additional data\n";
fos.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileInputStream 和 FileOutputStream 是 Java 中处理文件读写的基本工具。通过 read()、write()、close() 等方法,开发者可以轻松实现文件的读取和写入操作。本文详细介绍了这两个类的使用方法、常见应用场景以及注意事项,并通过示例代码展示了实际应用。希望本文能帮助开发者更好地掌握文件读写的技巧,从而提升代码的可靠性和效率。
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等
支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景
涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。
根据给定的手机号、姓名、身份证、人像图片核验是否一致
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。