• 常用的字节输入流有: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流读写数据简单示例的更多相关文章

  1. MapReduce从HBase读写数据简单示例

    就用单词计数这个例子,需要统计的单词存在HBase中的word表,MapReduce执行的时候从word表读取数据,统计结束后将结果写入到HBase的stat表中. 1.在eclipse中建立一个ha ...

  2. 八: IO流,数据的读写传输

    IO流概括图: IO流的分类:  按流: 输入流(InputStream和Reader):从硬盘或者别的地方读入内存 输出流(OutputStream和Writer):从内存里向硬盘或别的地方输出 按 ...

  3. C++ IO流_数据的旅行之路

    1. 前言 程序中的数据总是在流动着,既然是流动就会有方向.数据从程序的外部流到程序内部,称为输入:数据从程序内部流到外部称为输出. C++提供有相应的API实现程序和外部数据之间的交互,统称这类AP ...

  4. IO流-输入输出的简单实例

    InputStream和OutputStream 抽象类InputStream和OutputStream是IO流最底层的两个抽象类,所有输入/输出流的类都基于这两个类. 这两个类里最核心的三个方法是r ...

  5. io流对数据的读写

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

  6. 161228、Java IO流读写文件的几个注意点

    平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? ...

  7. 在c#中IO流读写操作

    1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...

  8. 161108、Java IO流读写文件的几个注意点

    平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? ...

  9. Java IO流读写文件的几个注意点

     平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不 ...

随机推荐

  1. bufferedReader 读取文件第一行第一个字符丢失问题

    在做一个解析pacp文件的时候需要读取文件中的每个属性,但是每次读出来的内容的每一行的第一个字符都被吞掉了,找了半天不知道为什么,后来看到在读取的时候用的read()方法,而且返回值是int类型,在变 ...

  2. mqtt网关

    MQTT网关 MQTT网关是可以是将普通的串口数据.Modbus RTU数据等转化为MQTT协议的从而方便与平台的对接,通过连接服务器.订阅和发布主题来实现传统设备和MQTT云端的联系.例如,笔记本和 ...

  3. Jmeter之接口依赖

    一.应用场景 1.现在有两个接口,一个是登录,一个查询,但查询接口必须要依赖登录接口的token,那么通过正则表达式提取器提取登录接口的响应结果 2.现在有两个接口,A接口返回列表数据,另一个查询接口 ...

  4. 【C语言C++编程入门】——编译机制和语言标准!

    编程机制 编写程序时必须遵循确切步骤主要是取决于你的计算机环境.因为 C语言是可以移植的,所以它在许多环境中可用,其中包括 UNIX,Linux,Windows等等 . 不过,让我们首先来看一看许多环 ...

  5. spring boot:方法中使用try...catch导致@Transactional事务无效的解决(spring boot 2.3.4)

    一,方法中使用try...catch导致@Transactional事务无效的解决方法 1,问题的描述: 如果一个方法添加了@Transactional注解声明事务, 而方法内又使用了try catc ...

  6. linux(centos8):安装配置consul集群(consul 1.8.4 | centos 8.2.2004)

    一,什么是consul? 1,Consul 是 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置. Consul 是分布式的.高可用的. 可横向扩展的   2,官方网站: h ...

  7. Jenkins:用maven在本地打包部署一个github的springboot项目(Jenkins 2.257)

    一,部署的准备工作 1,测试项目的地址: https://github.com/liuhongdi/profile 是一个空白项目 2,准备java环境:参见: https://www.cnblogs ...

  8. spring boot:给接口增加签名验证(spring boot 2.3.1)

    一,为什么要给接口做签名验证? 1,app客户端在与服务端通信时,通常都是以接口的形式实现, 这种形式的安全方面有可能出现以下问题: 被非法访问(例如:发短信的接口通常会被利用来垃圾短信) 被重复访问 ...

  9. Android adb实现原理

    adb定义: adb(Android Debug Bridge) 安卓调试桥,包含adb client.adb server和adbd三部分. adb client:运行在PC上,即DDMS或者在Wi ...

  10. spring-boot-route(二十一)quartz实现动态定时任务

    Quartz是一个定时任务的调度框架,涉及到的主要概念有以下几个: Scheduler:调度器,所有的调度都由它控制,所有的任务都由它管理. Job:任务,定义业务逻辑. JobDetail:基于Jo ...