java IO接口(Input)用法

简介: 【5月更文挑战第1天】Java的`java.io`包包含多种输入输出类。此示例展示了如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着创建一个字节数组存储读取的数据,调用`read()`方法将文件内容填充至数组。然后将字节数组转换为字符串并打印,最后关闭输入流。注意,`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。

在 Java 中,java.io 包提供了许多用于输入输出的类。以下是一个简单的输入流(InputStream)使用示例:

java
import java.io.*;

public class InputStreamExample {
public static void main(String[] args) {
try {
// 创建一个 FileInputStream 对象
FileInputStream fis = new FileInputStream("input.txt");

        // 创建一个 byte 数组来保存从输入流读取的数据  
        byte[] data = new byte[1024];  

        // 读取输入流中的数据并保存到 data 数组中  
        int bytesRead = fis.read(data);  

        // 输出读取的数据  
        System.out.println(new String(data, 0, bytesRead));  

        // 关闭输入流  
        fis.close();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
}  

}
在这个示例中,我们创建了一个 FileInputStream 对象来读取名为 input.txt 的文件。我们创建了一个 byte 数组来保存从输入流读取的数据,然后使用 read() 方法读取数据并将其保存到数组中。最后,我们将字节数组转换为字符串并打印出来。在结束时,我们关闭了输入流以释放系统资源。

注意,InputStream 是一个抽象类,不能直接实例化。在上面的示例中,我们使用了它的子类 FileInputStream。还有许多其他类型的输入流,如 ByteArrayInputStream、ObjectInputStream 和 BufferedInputStream,它们都具有不同的用途和特点。

相关文章
|
3月前
|
机器学习/深度学习 人工智能 NoSQL
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
随着大模型的越来越盛行,现在很多企业开始接入大模型的接口,今天我从java开发角度来写一个demo的示例,用于接入DeepSeek大模型,国内的大模型有很多的接入渠道,今天主要介绍下阿里云的百炼模型,因为这个模型是免费的,只要注册一个账户,就会免费送百万的token进行学习,今天就从一个简单的可以执行的示例开始进行介绍,希望可以分享给各位正在学习的同学们。
350 3
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
|
2月前
|
Java 编译器 API
Java Lambda 表达式:以 Foo 接口为例深入解析
本文深入解析了 Java 8 中 Lambda 表达式的用法及其背后的函数式接口原理,以 `Foo` 接口为例,展示了如何通过简洁的 Lambda 表达式替代传统匿名类实现。文章从 Lambda 基本语法、函数式接口定义到实际应用层层递进,并探讨默认方法与静态方法的扩展性,最后总结常见误区与关键点,助你高效优化代码!
68 0
|
2月前
|
Java
java中一个接口A,以及一个实现它的类B,一个A类型的引用对象作为一个方法的参数,这个参数的类型可以是B的类型吗?
本文探讨了面向对象编程中接口与实现类的关系,以及里氏替换原则(LSP)的应用。通过示例代码展示了如何利用多态性将实现类的对象传递给接口类型的参数,满足LSP的要求。LSP确保子类能无缝替换父类或接口,不改变程序行为。接口定义了行为规范,实现类遵循此规范,从而保证了多态性和代码的可维护性。总结来说,接口与实现类的关系天然符合LSP,体现了多态性的核心思想。
53 0
|
3月前
|
消息中间件 监控 算法
用Apifox调试Socket.IO接口,从原理到实践
传统HTTP协议"请求-响应"的离散式通信机制已难以满足需求,这正是Socket.IO这类实时通信框架的价值所在。
用Apifox调试Socket.IO接口,从原理到实践
|
3月前
|
JSON 测试技术 网络安全
如何调试 Socket.IO 接口?图文教程
Socket.IO 是一个用于实现低延迟、双向和基于事件通信的库,广泛应用于实时应用开发中。有效测试 Socket.IO 接口对于确保应用稳定性和功能正确性至关重要。本文介绍如何使用 Apifox 轻松进行 Socket.IO 接口测试,包括新建接口、监听事件、发送消息、配置握手参数、使用变量、保存和共享接口等步骤。Apifox 操作简便、功能完善,是开发者调试 Socket.IO 接口的得力助手,帮助确保实时通信的可靠性和稳定性,提高开发效率。
|
4月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
723 5
|
3月前
|
监控 API 开发工具
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。
|
10月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
11月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用
|
9月前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
443 12