IO流(三) BufferedReader与BufferedWriter InputStreamReader与OutputStreamWriter

本文主要是介绍IO流(三) BufferedReader与BufferedWriter InputStreamReader与OutputStreamWriter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.BufferedReader

方法readLine()可直接读取一行 ,但是不带有换行符

package com.io;import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;/*BufferReader:带有缓冲区的字符输入流使用这个流的时候后不需要使用char数组,或是说不需要自定义byte数组,自带缓冲*/
public class BufferedReaderTest01 {public static void main(String[] args) {FileReader reader = null;BufferedReader br = null;try {reader = new FileReader("copy01.java");//当一个流的构造方法中需要一个流的时候,这个被传进来的流叫节点流//外部负责包装的这个流,叫做:包装流,或者叫做:处理流//相当前这个程序来说 FileReader是一个节点流 BUfferedReader就是一个包装流/处理流br = new BufferedReader(reader);//读一行
//          String firstLine = br.readLine();
//          System.out.println(firstLine);
//           String secondLine = br.readLine();
//           System.out.println(secondLine);
//          String line3 = br.readLine();
//          System.out.println(line3);//br.readLine() 读取一个文本行,但是不带换行符String s = null;while ((s = br.readLine()) != null) {System.out.println(s);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {//对于包装流来说,只需要关闭最外层流即可,里面的节点流会自动关闭(看源码可知)if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}}
}

 

二.InputStreamReader

package com.io;import java.io.*;
/*转换流*/
public class BufferedReaderTest02 {public static void main(String[] args) {BufferedReader br =null;try {
//            //字节流
//            FileInputStream in  = new FileInputStream("copy01.java");
//            //InputStreamReader 将字节流转换成字符流
//            //in 是节点流 reader是包装流
//            InputStreamReader reader = new InputStreamReader(in);
//            //这个构造方法只能传入一个字符流,不能使用字节流
//            //reader是节点流 br是包装流
//            br = new BufferedReader(reader);//合并:br = new BufferedReader(new InputStreamReader(new FileInputStream("copy01.java")));String line =null;while((line = br.readLine())!=null){System.out.println(line);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}}
}

三.BufferedWriter与OutStreamWriter

package com.io;import java.io.*;/*BufferedWriter :带有缓冲的字符输出流*/
public class BufferedWriterTest {public static void main(String[] args) {BufferedWriter out = null;try {//out = new BufferedWriter(new FileWriter("copy02.java"));out =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("copy2.java")));//带有缓冲区的字符输出流out.write("hello world!");out.write("\n");out.write("hello Acofkings");//刷新out.flush();} catch (IOException e) {e.printStackTrace();}finally{if (out != null) {try {out.close();} catch (IOException e) {e.printStackTrace();}}}}
}

 

这篇关于IO流(三) BufferedReader与BufferedWriter InputStreamReader与OutputStreamWriter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896920

相关文章

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

springboot体会BIO(阻塞式IO)

使用springboot体会阻塞式IO 大致的思路为: 创建一个socket服务端,监听socket通道,并打印出socket通道中的内容。 创建两个socket客户端,向socket服务端写入消息。 1.创建服务端 public class RedisServer {public static void main(String[] args) throws IOException {

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

JavaEE-文件操作与IO

目录 1,两种路径 二,两种文件 三,文件的操作/File类: 1)文件系统操作 File类 2)文件内容操作(读文件,写文件) (1)打开文件 (2)关闭文件 (3)读文件/InputStream (4)写文件/OutputStream (5)读文件/reader (6)写文件/writer (7)Scanner 四,练习: 1,两种路径 1)绝对路径