首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Java】之IO流

【Java】之IO流

作者头像
天寒雨落
发布2022-11-20 10:56:52
发布2022-11-20 10:56:52
33400
代码可运行
举报
文章被收录于专栏:编程学习之路编程学习之路
运行总次数:0
代码可运行

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主

 特别标注:仅为自己的学习记录笔记,方便复习和加深记忆,仅供借鉴参考!

目录

IO流概述

IO流分类

按数据的流向

按数据类型

字符流

字节流

字节流写数据

字节流抽象基类

 字节流写入数据的3种方式

  实现数据的换行

  实现数据的追加写入


IO流概述

IO:输入/输出(Input/Output)。

流:是一种抽象概念,是对数据传输的总称,数据在设备间的传输称为流。

IO流:用来处理设备间数据传输的问题

IO流分类

按数据的流向

输入流:读数据

输出流:写数据

按数据类型

字节流

字节输入流;字节输出流

字符流

字符输入流;字符输出流

如果数据通过Window自带的记事本软件打开,我们还可以读懂里面的内容,就使用字符流,否则使用字节流,如果不知道该使用哪种类型的流,就使用字节流

字节流

字节流写数据

字节流抽象基类

InputStream:表示字节输入流的所有类的超类

OutputStream:表示字节输出流的所有类的超类

FileOutputStream(String name):创建文件输出流以指定的名称写入文件中

举例

代码语言:javascript
代码运行次数:0
运行
复制
package IO;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo1 {

	public static void main(String[] args) throws IOException {
		FileOutputStream fos=new FileOutputStream("fos.txt",true);
		fos.write("hello,IO\n".getBytes());
		fos.close();
	}

}

 为什么一定要close()呢?  1.让流对象变成垃圾,这样就可以被垃圾回收器回收了  2.通知系统去释放跟该文件相关的资源

执行结果

 字节流写入数据的3种方式

 1. public void write(int b):写一个字节  2.public void write(byte[] b):写一个字节数组  3.public void write(byte[] b,int off,int len):写一个字节数组的一部分

举例

代码

代码语言:javascript
代码运行次数:0
运行
复制
package IO;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo1 {

	public static void main(String[] args) throws IOException {
		FileOutputStream fos=new FileOutputStream("fos2.txt",true);
		fos.write(97);
		byte[] bys={97,98,99,100,101};
		fos.write(bys);
		fos.write(bys, 2, 3);
		fos.close();
	}

}

执行结果

  实现数据的换行

 不同的系统针对不同的换行符号识别是不一样的:  indows:\r\n  linux:\n  Mac:\r

  实现数据的追加写入

用构造方法带第二个参数是true的情况即可

举例

代码

代码语言:javascript
代码运行次数:0
运行
复制
package IO;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo1 {
	public static void main(String[] args) throws IOException {
		FileOutputStream fos=new FileOutputStream("fos3.txt",true); 
		for (int i = 0; i < 10; i++) {
			byte[] bys="hello world".getBytes();
			fos.write(bys);
			fos.write("\r\n".getBytes());
		}
		fos.close();

	}

}

运行结果

各位学习java的朋友可以联系我,互相讨论,一起进步!!!

👍+✏️+⭐️是对博主最大的鼓励与支持!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IO流概述
    • IO流分类
      • 按数据的流向
      • 按数据类型
      • 字符流
  • 字节流
    • 字节流写数据
      • 字节流抽象基类
    •  字节流写入数据的3种方式
    •   实现数据的换行
    •   实现数据的追加写入
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档