java i o读写本地图片_Java I/O操作

这篇博客主要讲解Java的输入流和输出流,包括面向显示器、键盘、磁盘、内存和网络的读写操作。以磁盘为例,详细阐述了字节流和字符流在读写文件,特别是读写二进制文件(如图片)时的应用。同时,通过示例代码展示了如何使用FileInputStream、FileOutputStream、FileReader、FileWriter等进行文件操作,并探讨了面向内存的读写操作和面向网络的Socket编程。
摘要由CSDN通过智能技术生成

在我们日常的开发中使用最多的Java知识点就是Java的IO流和Java集合两大模块,后续的文章我会接着介绍Java集合的知识,本篇博文我主要讲解Java的输入流和输出流。

我们知道任何的编程语言,首先要解决的就是如何与外部介质交换数据,这就包括了如何将数据写到外部介质以及如何读取外部介质的数据;Java的I/O流提供了读写数据的标准方法,Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。

Java的I/O流按读写方式可以分为字节流和字符流两种类型;其实字符流的本质还是字节流,只不过字符流对字节流做了一次封装。需要注意的是:当我们读写二进制文件时(如:图片、视频、音频等),只能使用字节流,否则会操作失败。

按照读写介质的不同,对于I/O流我们还有另一种划分方法,分别是面向显示器、键盘的操作、面向内存的操作、面向磁盘的操作以及面向网络的操作。

输入流、输出流中的输入和输出均是相对于Java程序来说,输入即是向程序输入数据(读),输出即是程序向外部输出数据(写)。

I/O流的相关类如下图所示:

209d60da1ba854f9b11d336072716636.png

结合我自身开发的经验,我认为按照读写介质来讲解理解会更加直观,所以下面我会按照不同的读写介质来讲解I/O流。

1、面向显示器、键盘的读写操作(标准输入、输出)

面向显示器的写操作和面向键盘的读操作,就是我们常用的System.out和System.in;使用System.out可以向我们的显示器输出信息,使用System.in可以从我们的键盘获取信息,示例代码如下:/**

* 标准输入输出

*/

public class SystemIOTest {

public static void main(String[] args) throws Exception{

System.out.println("请输入姓名:");

Scanner scanner = new Scanner(System.in);

System.out.println(scanner.nextLine());

}

}

2、面向磁盘的读写操作

面向磁盘的读写操作,主要就是指对文件的读写操作,它主要包括FileInputStream、FileOutputStream、FileReader、FileWriter,示例代码如下:/**

* java io 测试类

*/

public class JavaIOTest {

/**

* 字节流读取二进制文件(如图片、音乐文件)

*/

@Test

public void inputstreamPicTest() {

try {

InputStream inputStream = new FileInputStream("e:" + File.separator + "logo.png");

OutputStream outputStream = new FileOutputStream("e:" + File.separator + "copy.png");

byte[] bytes = new byte[1024];

int len = 0;

while ((len = inputStream.read(bytes)) != -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值