【java学习—十二】文件字节流(2)

news2024/11/24 17:25:11

文章目录

  • 1. 文件字节输入流
  • 2. 文件字节输出流
  • 3. 练习


1. 文件字节输入流

举例:
tt1.txt文件内容为:aaaa

package day12;

import java.io.FileInputStream;

public class Test1 {
	public static void main(String[] args) {
		Test1.testFileInputStream();
	}
	
	/**
	 * 文件字节输入流FileInputStream
	 */
	public static void testFileInputStream() {
		try {
			FileInputStream in = new FileInputStream("D:/test/abc/tt1.txt");
			
			byte[] b = new byte[10];//设置一个byte数组接收读取的文件内容
			
			int len = 0;//设置一个读取数据的长度
			
//			in.read(b);//in.read方法有一个返回值,返回值是读取的数据的长度,如果读取到最后一个数据,还会向后读一个,这个时候返回值就是-1
			//也就意味着当in.read的返回值是-1的时候,整个文件就读取完毕了
			while((len = in.read(b)) != -1) {
				System.out.println(new String(b, 0, len));
			}
			
			in.close();
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}

运行结果:

在这里插入图片描述

2. 文件字节输出流

举例:在D:/test/abc/中创建一个tt2.txt文件,并向其输出“zhongguokuangyedaxue”字符串。

package day12;

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test1 {
	public static void main(String[] args) {

		Test1.testFileOutputStream();
	}
	
	/**
	 * 文件字节输出流
	 */
	public static void testFileOutputStream() {
		try {
		FileOutputStream out = new FileOutputStream("D:/test/abc/tt2.txt");//指定向tt2输出数据
		String str = "zhongguokuangyedaxue";
		out.write(str.getBytes());//把数据写到内存
		out.flush();//把内存中的数据刷写到硬盘
		out.close();//关闭流
		
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	
}

3. 练习

编写一个程序,把一个文件复制到指定文件夹下:将 D:/test/abc/tt1.txt 复制到 D:/test/abc/cc 文件夹中。

package day12;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class Test1 {
	public static void main(String[] args) {
	
		Test1.copyFile("D:/test/abc/tt1.txt", "D:/test/abc/cc/tt1.txt");
		Test1.copyFile("D:/test/abc/img.png", "D:/test/abc/cc/img.png");//也可以复制图片
	}
	
	/**
	 * 复制文件到指定位置
	 * @param inPath 源文件路径
	 * @param outPath 复制到的文件夹路径
	 */
	public static void copyFile(String inPath, String outPath) {
		try {
			FileInputStream in = new FileInputStream(inPath);
			FileOutputStream out = new FileOutputStream(outPath);//
			
			byte[] b = new byte[100];
			int len = 0;
			
			while((len = in.read(b)) != -1) {
				out.write(b, 0, len);//参数1是写的缓冲数组,参数2是从数组的哪个位置开始,参数3是获取的数组的总长度
			}
			
			out.flush();//把写到内存的数据刷到硬盘
			out.close();
			in.close();
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}

注意:文件字节流非常通用,可以用来操作字符的文档,还可以操作任何其他类型的文件(图片、压缩包等等),因为字节流直接使用二进制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1170086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue3+Vite+bwip-js库】 生成DataMatrix码

前提条件 已存在的vue3vite架构前端项目对二维码分类有一定的了解 生成的码的样式如下&#xff08;DataMatrix&#xff09; 该二维码容量如下 详情见&#xff1a;DataMatrix介绍 Vue3Vite 导入 bwip-js生成DataMatrix 1. 安装 npm install bwip-js --save2. 引入使用 <…

「视频编码软件」Media Encoder(Me) 2024 Mac/win中文版下载安装

Adobe Media Encoder(Me) 2024是一款专业的视频编码工具&#xff0c;它可以将各种视频格式进行转换、压缩和编码&#xff0c;以满足不同媒体平台和设备的需求。 以下是 Media Encoder 2023 的主要功能和新增功能&#xff1a; 视频编码和转换&#xff1a;支持将各种视频格式进…

代码随想录算法训练营第四十三天丨 动态规划part06

518.零钱兑换II 思路 这是一道典型的背包问题&#xff0c;一看到钱币数量不限&#xff0c;就知道这是一个完全背包。 对完全背包还不了解的同学&#xff0c;可以看这篇&#xff1a;动态规划&#xff1a;关于完全背包&#xff0c;你该了解这些&#xff01;(opens new window)…

苹果IOS系统webglcontextlost问题-解决方案

问题描述 在IOS手机 解码视频流的时候&#xff0c;第一次可以正常播放&#xff0c;但只要IOS手机熄屏&#xff0c;再重新唤醒&#xff0c;就会一直播放失败&#xff0c;无论换哪个浏览器都不行。安卓手机则一切正常。 经过排查&#xff0c;发现 IOS手机 的浏览器会无故 webGL…

大聪明教你学Java | Win10 环境下安装部署 RocketMQ

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…

Word里MathType插件符号表消失了

场景再现 在word里面编辑数学公式&#xff0c;结果符号表跑到屏幕外面了&#xff0c;找不到&#xff1b; 解决办法 在其中找到视图->工具栏&#xff0c;点击即可&#xff1a; 还嫌弃它跑到外边了&#xff0c;那就可以点击符号表的边框&#xff1a; 双击左边边框&#x…

YOLO目标检测——夜间车辆检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;智能交通监控系统、自动驾驶系统、夜间行车安全辅助系统等数据集说明&#xff1a;夜间车辆检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0…

如何进行性能测试?

性能测试是软件测试中的一个重要环节&#xff0c;其目的是评估系统在不同负荷下的性能表现&#xff0c;包括响应时间、吞吐量、并发数等指标。通常可以通过以下几种方法进行性能测试&#xff1a; 1、负载测试 负载测试是模拟多用户同时访问系统&#xff0c;测试系统在高并发、…

云产品FC免费试用获取奖励步骤

文章目录 1、获取活动链接2、报名参加3、试用产品领取产品试用权限部署生成小说提交作品 4、提交任务获取奖励 1、获取活动链接 活动时间2023.11.1&#xff5e;2023.11.30 名额有限&#xff0c;先到先得 进群群主获取活动链接 2、报名参加 直接点击链接进入小程序进行登录授…

备份doris数据到minio

1、MINIO 设置 创建服务账户&#xff0c;记住ACCESS_KEY和SECRET_KEY 创建Buckets doris 设置region 在首页查看服务ip和端口号 2、创建S3备份库 因为minio是兼容S3协议的&#xff0c;所以可以通过s3协议链接minio。 CREATE REPOSITORY minio WITH S3 ON LOCATION "s3://…

表格冻结第二行

在网上找了一圈也没找到说明白的。 像这样的表格下面会有很多行&#xff0c;往下翻的时候会忘记第二行显示的什么内容。 需求&#xff1a;将第二行进行冻结 实现&#xff1a; 1&#xff0c;选中第一和第二行&#xff0c;下拉&#xff0c;点击冻结 2&#xff0c;会显示冻结至…

UI设计感大型数据管理仪表盘后台模板源码

大型数据管理仪表盘后台模板是一款适合数据统计管理后台网站模板下载。提示&#xff1a;本模板调用到谷歌字体库&#xff0c;可能会出现页面打开比较缓慢。 演示下载 qnziyw点cn/wysc/qdmb/20838点html

5+非肿瘤+细胞凋亡相关生信思路,请自行查阅

今天给同学们分享一篇生信文章“Genome-wide identification and functional analysis of dysregulated alternative splicing profiles in sepsis”&#xff0c;这篇文章发表在J Inflamm (Lond)期刊上&#xff0c;影响因子为5.1。 结果解读&#xff1a; 脓毒症患者和健康对照…

Python爬虫实战-批量爬取下载网易云音乐

大家好&#xff0c;我是python222小锋老师。前段时间卷了一套 Python3零基础7天入门实战https://blog.csdn.net/caoli201314/article/details/1328828131小时掌握Python操作Mysql数据库之pymysql模块技术https://blog.csdn.net/caoli201314/article/details/133199207一天掌握p…

New Maven Project

下面两个目录丢失了&#xff1a; src/main/java(missing) src/test/java(missing) 换个JRE就可以跑出来了 变更目录

jmeter接口自动化测试通过csv文件读取用例并执行测试

最近在公司测试中经常使用jmeter这个工具进行接口自动化&#xff0c;简单记录下~ 一、在csv文件中编写好用例 首先在csv文件首行填写相关参数&#xff08;可根据具体情况而定&#xff09;并编写测试用例。脚本可通过优先级参数控制执行哪些接口&#xff0c;通过端口参数同时执…

后端接口接收对象和文件集合,formdata传递数组对象

0 问题 后端接口需要接收前端传递过来的对象和文件集合&#xff1b;对象中存在数组对象 1 前端和后端 前端只能使用formdata来传递参数&#xff0c;后端不使用RequestBody注解 2 formdata传递数组对象 2.1 多个参数对象数组 addForm: {contactInfo: [{contactPerson: ,…

FLASH语音芯片和MP3音乐芯片的不同之处

语音芯片除了不可重复擦写的otp语音芯片之外还有内置flash可重复擦写的语音芯片&#xff0c;还有音质相对来说更好的mp3音乐芯片&#xff0c;接下来让我们就flash芯片和MP3芯片来展开讨论&#xff0c;看看两者之间究竟有哪些不同之处。 flash语音芯片 Flash语音芯片是可以进行…

视频转序列图片:掌握技巧,轻松转换

随着社交媒体和视频平台的日益普及&#xff0c;视频已成为我们生活中不可或缺的一部分。有时&#xff0c;我们需要将视频转换为图片序列&#xff0c;例如制作GIF动图或提取视频中的特定画面。现在一起来看云炫AI智剪如何将视频转换为序列图片&#xff0c;并轻松实现转换。 操作…

【GEE】1、Google 地球引擎简介

1简介 在本模块中&#xff0c;我们将讨论以下概念&#xff1a; 定义 Google 地球引擎中的主要数据类型以及如何使用它们。 如何探索数据集并限制特定研究站点的输出。 如何可视化火灾前后景观之间光合活动的差异。 2背景 遥感可以成为生态学家在更大空间尺度上了解研究系统…