Java 字节流写数据、字节流换行与追加写入、字节流写数据加异常处理_java 字节流追加写入byte 性能最高的方法-程序员宅基地

技术标签: Java  java  

字节流写数据

字节流抽象基类
  • InputStream : 这个抽象类是表示字节输入流的所有类的超类
  • OutputStream : 这个抽象类是表示字节输出流的所有类的超类
  • 子类名特点 : 子类名称都是以其父类名作为子类名的后缀

FileOutputStream : 文件输出流用于将数据写入File

FileOutputStream(String name):创建文件输出流以指定的名称写入文件
public class FileOutPutStreamDemo {
    
	public static void main(String[] args) throws IOException {
    
		FileOutputStream file = new FileOutputStream("IO.txt");
		file.write(97);//a
		file.write(65);//A
		file.close();
	}
}

使用字节输出流写数据的步骤:

  • 创建字节输出流对象(调用系统功能创健了文件, 创建字节输出流对象,让字节输出流对象指向文件)

  • 调用字节输出流对象的写数据方法

  • 释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)

字节流写数据的3种方式

void write(int b)
将指定的字节写入此文件输出流
一次写一个字节数据

void write(byte[ ] b)
将b.length字节从指定的字节数组写入此文件输出流
一次写一个字节数组数据

void write(byte[ ] b, int off, int len)
将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流
-次写一个字节数组的部分数据
public class FileOutPutStreamDemo2 {
    
	public static void main(String[] args) throws IOException {
    
		FileOutputStream file = new FileOutputStream("IO.txt");
		file.write(97);
		file.write(98);
		file.write(99);
		file.write(100);

		byte[] by = {
     97, 98, 99, 100 };
		file.write(by);

		byte[] bs = "abcdef".getBytes();
		file.write(bs);

		// 索引0开始,写length长个数据
		file.write(by, 0, by.length);

		file.close();
	}
}

字节流换行与追加写入

字节流写数据如何实现换行呢?

  • 写完数据后, 加换行符
windows:\r\n
linux	:\n
mac		:\r

字节流写数据如何实现追加写入呢?

public FileOutputStream(String name,boolean append)

创建文件输出流以指定的名称写入文件。如果第_二个参数为true,则字节将写入文件的末尾而不是开头
public class FileOutPutStreamDemo03 {
    
	public static void main(String[] args) throws IOException {
    
		FileOutputStream file = new FileOutputStream("IO.txt", true);
		for (int i = 0; i < 10; i++) {
    
			file.write("helloworld".getBytes());
			file.write("\r\n".getBytes());
		}
		file.close();
	}
}

字节流写数据加异常处理

  • finally:
    在异常处理时提供finally块来执行所有清除操作。比如说IO流中的释放资源
  • 特点:
    被finally控制的语句一定会执行,除非JVM退出
try{
    
	可能出现异常的代码; 
}catch(异常类名变量名){
    
	异常的处理代码;
}finally{
    
	执行所有清除操作;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43472877/article/details/104562382

智能推荐

python 读取txt文件、转为json文件_python 读写txt文件 json文件的实现方法-程序员宅基地

文章浏览阅读3.6k次。首先第一步,打开文件,有两个函数可供选择:open() 和 file()①.f = open('file.txt',‘w')...file.close()②.f = file('file.json','r')...file.close()#记得打开文件时最后不要忘记关闭!open() 和 file() 都是Python的内建函数,返回一个文件对象,具有相同的功能,可以任意替换。使用语法为:f =...

AI优秘数字人克隆系统源代码:本地部署,轻松开发个性化克隆系统!”-程序员宅基地

文章浏览阅读323次,点赞3次,收藏9次。AI数字人克隆系统源代码克隆系统的开发是近年来人工智能领域的研究热点之一。这个系统的实现将赋予人工智能无限可能,为人们带来前所未有的便利和体验。一、首先理解什么是AI数字人克隆系统源代码克隆系统1、AI数字人克隆系统能够创建一个虚拟的数字人形象,使其具备与真实人类相似甚至超越的能力。源代码克隆系统作为该系统的核心部件,负责实现数字人行为和人工智能决策的复制。源代码克隆系统主要基于机器学习和深度学习的技术,通过建立大规模的数据集进行训练,使得数字人能够准确地模仿真实人类的行为。2、该系统开发的关键过程

php 跑马灯抽奖,九宫格抽奖跑马灯效果实现--微信小程序-程序员宅基地

文章浏览阅读268次。目标希得行更是u告果款近刚交易一c屏。基近刚交望实现一个九宫格跑马灯效果的抽奖功能,但希望不止局限于固定的样式或效果。考虑做成一个n*n的可自定义某些参数的组件。可自定义某些参数例如:能指定动画效果的,能局部自定义样式的自水一套还点指构框未制果定者域会通时近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文或有过还近带货些丰是,的接架完是为广文..._9个灯随机抽取编程

真好玩python教孩子学编程_Python真好玩:教孩子学编程-程序员宅基地

文章浏览阅读140次。前言第1章 结交一个新朋友,它的名字叫Python1.1 请叫我Python大人 11.2 邀请Python来我的电脑做客 21.3 用Python指挥你的电脑 161.4 Python的第一个程序 181.5 回忆我们的朋友Python 201.6 首次小挑战 20第2章 召唤画图的小海龟2.1 认识会作图的小海龟 212.2 小海龟的作图绝学 282.2.1 小海龟画线段 282.2.2 小海..._python真好玩:教孩子学编程

网络协议栈设计(七)---网络层ARP协议分析(发送)_arp结构体的设计-程序员宅基地

文章浏览阅读533次。网络协议栈设计(七)本篇,我们就进入数据链路层的上层,网络层,看看我们在网络层需要做哪些事情。 在网路层,我们实现的协议有ARP协议,IPv4协议,ICMP协议。 学习网络协议栈的伙伴相信对于协议的内容及功能都已经有了一定的掌握,我在此不再赘述。 ARP协议处在网络层协议的最底层,为网络层其他协议服务的。按照我们自底向上的设计顺序,我们本篇,就给大家先带来ARP协议的设计。 地址解析协议,_arp结构体的设计

「 LaTeX 」写论文,IEEE论文插入作者图片IEEEbiography-程序员宅基地

文章浏览阅读1.4w次,点赞13次,收藏19次。将个人照片的pdf放到根目录下,实现代码:\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{Robot_Starscream.pdf}}]{Robot_Starscream}A good boy\end{IEEEbiography}效果:_ieeebiography

随便推点

OpenCV2与OpenCV3共存_opencv2 和opencv3共存-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏8次。由于开发的需要,要在电脑同时安装OpenCV2和3两个版本,实现版本的切换。下边记录的Windows和Linux/CMake的版本切换方式。_opencv2 和opencv3共存

TCP SYN洪水 (SYN Flood) 攻击原理与实现_tcp syn flooding攻击-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏49次。TCP协议是 TCP/IP 协议栈中一个重要的协议,平时我们使用的浏览器,APP等大多使用 TCP 协议通讯的,可见 TCP 协议在网络中扮演的角色是多么的重要。TCP 协议是一个可靠的、面向连接的流协议,由于 TCP 协议是建立在 IP 协议这种面向无连接的协议,所以 TCP 协议必须自己来维护连接的状态。三次握手过程TCP 协议通过一种名为 三次握手 的过程来建立客户端与服务端的连接,三次握手 过程的原理如图1:(图一 三次握手过程)建立连接三次握手过程如下: 客户端需要发_tcp syn flooding攻击

U3D里Humanoid动画系统问题与解决_unity humanoid模式下怎么保证动作正常,需要开启id吗-程序员宅基地

文章浏览阅读1w次。U3D里Humanoid动画系统问题与解决 1:模型导入U3D后,我们第一件事就是,CS骨骼匹配是否完好的问题。 首先在这里进入骨骼匹配模式。然后去看默认的骨骼位置是否OK,下图是头部的。接着去看躯干。 最后是双手的,下图是左手,右手一样,就不重复上_unity humanoid模式下怎么保证动作正常,需要开启id吗

最全的CSS浏览器兼容问题_tailwind ie6-程序员宅基地

文章浏览阅读555次。CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名. CSS技巧1.div的垂直居中问题 vertical-align:middle; 将行距增加_tailwind ie6

[系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向破解_运用ollydbg crackme-程序员宅基地

文章浏览阅读6.4k次,点赞4次,收藏9次。系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战和Windows漏洞利用等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。前文普及了IDA Pro反汇编工具的基础用法,并简单讲解一个EXE逆向工程解密实战方法。这篇文章将详细介绍OllyDbg的基础用法和CrakeMe案例,逆向分析的“倚天屠龙”,希望对入门的同学有帮助。_运用ollydbg crackme

上传图片并生成略缩图 _gin框架上传图片生成缩略图-程序员宅基地

文章浏览阅读466次。 上传图片并生成略缩图 参数说明FileBox:上传表单中的表单名SavePath:保存路径ThumbnailWidth:略缩图宽ThumbnailHeight:略缩图高FilePath:文件保存路径(输出参数)FileName:文件名称(输出参数)LastError:(输出错误)public static bool UploadImages(System.Web.UI.HtmlControl_gin框架上传图片生成缩略图