java中FileInputStream和FileOutputStream类

一、介绍

FileInputStream类与FileOutputStream类都用来操作磁盘文件,提供了基本的文件写入能力。

二、FileInputStream类常用的构造方法

1、FileInputStream(String name)

2、FileInputStream(File file)

第一个构造方法使用给定的文件名name创建一个FileInputStream对象,第二个构造方法使用File对象创建FileInputStream对象。第二个构造方法允许在把文件连接输入流对文件进一步分析。

FileOutputStream类有与FileInputStream类相同的参数构造方法,创建一个FileOutputStream对象时,可以指定不存在的文件名,但此文件不能是一个已被其他程序打开的文件。

三、程序代码(列子)

题目:向word.txt文件写入信息,将文件中的数据读取到控制台上。

java 复制代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * 这是一个用于测试文件输入输出的Java程序。
 */
public class FileInputTest {
    public static void main(String[] args) {
        // 创建一个File对象,指向名为"word.txt"的文件
        File file = new File("word.txt");

        try {
            // 使用文件对象创建FileOutputStream,用于向文件写入数据
            FileOutputStream out = new FileOutputStream(file);

            // 将字符串转换为字节数组,因为文件操作是以字节为单位的
            byte[] buy = "你说什么,你在说什么?".getBytes();

            // 将字节数组中的数据写入到文件中
            out.write(buy);

            // 关闭输出流,释放系统资源
            out.close();
        } catch (Exception e) {
            // 捕获并处理可能发生的异常,这里只是简单地打印异常信息
            e.printStackTrace();
        }

        try {
            // 使用文件对象创建FileInputStream,用于从文件读取数据
            FileInputStream input = new FileInputStream(file);

            // 创建一个字节数组,用于存储从文件中读取的数据
            // 这里设置大小为1024字节,即1KB,可以根据需要调整
            byte[] byt = new byte[1024];

            // 从文件中读取数据到字节数组中,返回实际读取的字节数
            int len = input.read(byt);

            // 将字节数组中的有效数据转换为字符串,并输出到控制台
            // 注意:这里需要指定从字节数组的第0个位置开始,到len位置(不包括len)
            System.out.println("文件中的信息是:" + new String(byt, 0, len));

            // 关闭输入流,释放系统资源
            input.close();
        } catch (Exception e) {
            // 捕获并处理可能发生的异常,这里只是简单地打印异常信息
            e.printStackTrace();
        }
    }
}

四、程序运行结果

相关推荐
爱编程的鱼5 分钟前
OpenCV Python 绑定:原理与实战
c语言·开发语言·c++·python
这周也會开心12 分钟前
云服务器安装JDK、Tomcat、MySQL
java·服务器·tomcat
hrrrrb1 小时前
【Spring Security】Spring Security 概念
java·数据库·spring
小信丶1 小时前
Spring 中解决 “Could not autowire. There is more than one bean of type“ 错误
java·spring
sdgsdgdsgc1 小时前
Next.js企业级应用开发:SSR、ISR与性能监控方案
开发语言·前端·javascript
周杰伦_Jay2 小时前
【Java虚拟机(JVM)全面解析】从原理到面试实战、JVM故障处理、类加载、内存区域、垃圾回收
java·jvm
rit84324995 小时前
基于MATLAB的模糊图像复原
开发语言·matlab
fie88895 小时前
基于MATLAB的声呐图像特征提取与显示
开发语言·人工智能
程序员小凯6 小时前
Spring Boot测试框架详解
java·spring boot·后端
豐儀麟阁贵6 小时前
基本数据类型
java·算法