IO流读写数据简单示例
常用的字节输入流有:InputStream ,FileInputStream,BufferedInputStream
- 常用的字节输出流有:OutputStream,FileOutputStream,BufferedOutputStream
- 常见的字符输入流有:Reader,InputStreamReader,FileReader,BufferedReader
- 常见的字符输出流有:Writer,OutputStreamWriter,FileWriter,BufferedWriter
- Buffered修饰的流是缓存的流,信息从内存中操作,效率比一般流操作效率高
demo如下:
public class Iotest {
public static void main(String[] args) {
File file = new File("E:\\iotest\\wl.txt");
/*
* 字节流 向文件中保存内容
*/
try (OutputStream os = new FileOutputStream(file, true)) {
String str = "\r\n hello world";
byte[] ss = str.getBytes("UTF-8");
os.write(ss);
} catch (IOException e) {
e.printStackTrace();
}
/*
* 字节流 BufferedInputStream 向文件中保存信息
*/
try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file, true))) {
String str2 = "\r\n buffered hello world";
byte[] bytes = str2.getBytes("UTF-8");
bos.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} /*
* 字节流 从文件中读取文件信息
* */
try (InputStream inputStream = new FileInputStream(file)) {
byte[] input = new byte[1024];
int len = 0;
while ((len = inputStream.read(input)) != -1) {
System.out.println(new String(input, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
} /*
* 字节流 BufferInputStream 从文件中读取内容
* */
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {
int len = 0;
byte[] bytes = new byte[1024];
while ((len = bis.read(bytes)) != -1) {
System.out.println(new String(bytes, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
} /*
* 字符流 向文件中保存信息
* */
try (Writer writer = new FileWriter(file, true)) {
String str2 = "\r\n 你好 中国!";
writer.write(str2);
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} /*
* 字符流 BufferWriter 向文件中保存内容
* */
try (BufferedWriter bw = new BufferedWriter(new FileWriter(file, true))) {
bw.write("\r\n Buffered 你好 中国!");
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} /*
* 字符流 读取文件中信息
* */
try (Reader reader = new FileReader(file)) {
char[] r = new char[1024];
int len = 0;
while ((len = reader.read(r)) != -1) {
System.out.println(new String(r, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
} /*
* 字符流 BufferReader 从文件中读取信息
* */
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
IO流读写数据简单示例的更多相关文章
- MapReduce从HBase读写数据简单示例
就用单词计数这个例子,需要统计的单词存在HBase中的word表,MapReduce执行的时候从word表读取数据,统计结束后将结果写入到HBase的stat表中. 1.在eclipse中建立一个ha ...
- 八: IO流,数据的读写传输
IO流概括图: IO流的分类: 按流: 输入流(InputStream和Reader):从硬盘或者别的地方读入内存 输出流(OutputStream和Writer):从内存里向硬盘或别的地方输出 按 ...
- C++ IO流_数据的旅行之路
1. 前言 程序中的数据总是在流动着,既然是流动就会有方向.数据从程序的外部流到程序内部,称为输入:数据从程序内部流到外部称为输出. C++提供有相应的API实现程序和外部数据之间的交互,统称这类AP ...
- IO流-输入输出的简单实例
InputStream和OutputStream 抽象类InputStream和OutputStream是IO流最底层的两个抽象类,所有输入/输出流的类都基于这两个类. 这两个类里最核心的三个方法是r ...
- io流对数据的读写
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; i ...
- 161228、Java IO流读写文件的几个注意点
平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? ...
- 在c#中IO流读写操作
1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...
- 161108、Java IO流读写文件的几个注意点
平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? ...
- Java IO流读写文件的几个注意点
平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不 ...
随机推荐
- fio硬盘测速windows+linux
一.FIO工具简介 Fio工具的介绍网上有很多,都是可以通用的,这里就不做太多个人描述了,直接借鉴一下 fio是一种I / O工具,用于基准测试和压力/硬件验证.它支持19种不同类型的I / O引擎( ...
- [转载]volitale关键字详解
来看这个代码: int fun(int& a) { int b = a; int c = a; return a+b+c; } int main() { int a=1; //........ ...
- OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...
- day10 Pyhton学习
一.昨日内容回顾 函数: 定义:对功能或者动作的封装 def 函数名(形参): 函数体 函数名(实参) return: 返回,当程序运行到return的时候,终止函数的执行 一个函数一定拥有返回值 ...
- day19 Pyhton学习 递归函数
# 函数的递归 : 在一个函数的内部调用它自己 # import sys # sys.setrecursionlimit(1000000) # 设置递归的最大深度 # 总结 # 1.递归函数的定义 : ...
- spring框架中配置mysql8.0需要注意的地方(转载)
8.0以后的mysql很强大,但是配置写法出现了不同 主要原因是时区不同,mysql默认用的是国外某个地方的时区,而我们要用的话用使用东八时区,这是中国统一时区. 装载自https://blog.cs ...
- linux(centos8):安装kubernetes worker节点并加入到kubernetes集群(kubernetes 1.18.3)
一,安装kubernetes前的准备工作 安装前的准备工作(master\worker都要进行) 参见: https://www.cnblogs.com/architectfore ...
- gin教程
Golang Gin 实战(十)| XML渲染 Golang Gin 实战(九)| JSONP跨域和劫持 Golang Gin 实战(八)| JSON渲染输出 Golang Gin 实战(七)| 分组 ...
- 第五章 Linux操作系统关机、重启、注销及其查看ip命令
一.更新系统时间与网络时间同步 1. 安装ntpdate工具 # yum -y install ntp ntpdate 2. 设置系统时间与网络时间同步 # ntpdate cn.pool.ntp ...
- JavaScript实现异步的4中方法
一:背景简介 Javascript语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须 ...