IO流之字符输入流,字符输出流

在我们日常开发中,我们经常会遇到要上传文件的操作,实现这个都是通过IO流去实现的,这次写的是普通字符输入流和普通输出流,由于效率有点低所以我们在日常开发中不会用到.

所以这次的代码可能只是帮助到接触到java  IO流的初学者,在后面的文章我们会更新高效流文件流

注意:字符流只能用来传输文本文件,所以我们要实现所有类型复制还是要用字节流,字符流的底层也是用到字节流

话不多说直接上代码

字符输入流

public static void main(String[] args) throws IOException {
  // 使用文件名称创建流对象
  FileReader fr = new FileReader("aaa.txt");
  // 定义变量,保存有效字符个数
  int b = -1;
  // 定义字符数组,作为装字符数据的容器
  char[] cbuf = new char[2];
  // 循环读取
  while ((b = fr.read(cbuf))!=‐1) {
          System.out.println(new String(cbuf));
  }
  // 关闭资源
  fr.close();
}

字符输出流

//写出字符数组
// 使用文件名称创建流对象
FileWriter fw = new FileWriter("fw.txt");
// 字符串转换为字节数组
char[] chars = "学习java".toCharArray();
fw.write(chars); // 学习java
// 写出从索引2开始,2个字节
fw.write(b,2,2);
//刷新缓冲区
fow.flush();
// 关闭资源
fos.close();
//写出字符串
// 使用文件名称创建流对象
FileWriter fw = new FileWriter("fw.txt");
// 字符串
String msg = "学习java";
// 写出字符数组
fw.write(msg);
// 写出从索引2开始,2个字节
fw.write(msg,2,2); //
// 关闭资源
fos.close();
//续写和换行
// 使用文件名称创建流对象,可以续写数据
FileWriter fw = new FileWriter("fw.txt",true);
// 写出字符串
fw.write("我爱");
// 写出换行
fw.write("\r\n");
// 关闭资源
fw.close();

原文地址:https://www.cnblogs.com/leonHQ/p/9513744.html

时间: 2024-07-30 08:28:04

IO流之字符输入流,字符输出流的相关文章

IO流(二)字符流

1.字符流:在字节流的基础上添加了编码机制.很大程度上和字节流操作一样的,字符流只能操作文本类文件,准确的说应该是纯文本类文件.例如.txt,.java,.cpp,.html等 编码:每一个国家都有自己的编码,编码不一致往往导致的结果就是!!乱码!!.中国编码的编码:gbk gbk:英文字母:1个字节,中文:2个字节,系统的默认编码. unicode:统一编码.中文还是英文字母都是占2个字节. utf-8: 国际编码.英文占1个字节,中文占3个字节. 文件是用什么编码来写的,那么就用什么编码来读

Java基础知识强化之IO流笔记39:字符流缓冲流之特殊功能

1. 字符缓冲流的特殊方法 BufferedWriter: 1 public void newLine():根据系统来决定换行符 BufferedReader: 1 public String readLine():一次读取一行数据 包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 2. 代码示例: 1 package cn.itcast_05; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedW

Java基础知识强化之IO流笔记37:字符流缓冲流之BufferedWriter / BufferedReader使用

1. 字符流缓冲流: 字符流为了高效读写,也提供了对应的字符缓冲流. BufferedWriter:字符缓冲输出流 BufferedReader:字符缓冲输入流 2. BufferedWriter使用:     将文本写入字符输出流,缓冲各个字符,从而提供单个字符.数组和字符串的高效写入.可以指定缓冲区的大小,或者接受默认的大小.在大多数情况下,默认值就足够大了. (1)BufferedWriter的构造方法: 构造方法摘要 BufferedWriter(Writer out)         

java的IO流,字节流和字符流

java操作文件都是通过流来处理的,(其实其他很多语言也是这样) 第一:java的IO流,分为:输入流 和 输出流(这真是废话,这是从流向的角度来说的) 第二:java的所有IO流,只分为:字节流 和 字符流(其实就是传输的颗粒,传输的基本单位) 总结:凡是处理纯文本的优先考虑字符流:其他的才考虑使用字节流

【Java IO流】字节流和字符流详解

字节流和字符流 对于文件必然有读和写的操作,读和写就对应了输入和输出流,流又分成字节和字符流. 1.从对文件的操作来讲,有读和写的操作——也就是输入和输出. 2.从流的流向来讲,有输入和输出之分. 3.从流的内容来讲,有字节和字符之分. 这篇文章先后讲解IO流中的字节流和字符流的输入和输出操作. 一.字节流 1)输入和输出流 首先,字节流要进行读和写,也就是输入和输出,所以它有两个抽象的父类InputStream.OutputStream. InputStream抽象了应用程序读取数据的方式,即

Java基础:IO流之字节流和字符流

1. 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等. 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL. 流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它. 实际上,流的源端和目的端可简单地看成是字节的生产者和消费

Java基础知识强化之IO流笔记61:标准输入输出流的本质

1. 标准输入输出流  System类中的两个成员变量: public static final InputStream in :"标准"输入流. public static final PrintStream out :"标准"输出流. 备注: InputStream is = System.in; PrintStream ps = System.out; 代码示例: 1 package cn.itcast_04; 2 3 import java.io.Print

【java】io流之字节流转为字符流:java.io.OutputStreamWriter和java.io.InputStreamReader

1 package 文件操作; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.OutputStream; 7 import java.io.OutputStreamWriter; 8 9 public class TestOutputStreamWriter { 10 public static void main(String[

【IO流】23 - 字节流 - 字节输出流的缓冲流以及字节输入流的缓冲流BufferedOutputStream&BufferedInputStream

package cn.itcast.demo1; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 字节输出流的缓冲流 * java.io.BufferedOuputStream 作用: 提高原有输出流的写入效率 * BufferedOuputStream 继承 OutputStream * 方法,写入 write 字节,字节数组 * * 构