Java之字符流读写文件、文件的拷贝

字符流读数据 – 按单个字符读取

创建字符流读文件对象:

Reader reader = new FileReader("readme.txt");

调用方法读取数据:

int data = reader.read(); // 读取一个字符,返回该字符代表的整数,若到达流的末尾,返回-1

字符流读数据 – 按字符数组读取

创建字符流读文件对象:

Reader reader = new FileReader("readme.txt");

调用方法读取数据:

// 读取字符到数组中,返回读取的字符数,若到达流的末尾,返回-1
char[] chs = new char[2048];
int len = r.read(chs);

字符流写数据 – 按单个字符写入

创建字符流写文件对象:

Writer writer = new FileWriter("dest.txt");

调用方法写入数据:

int x = ‘中‘;
writer.write(x); // 写一个字符

字符流写数据 – 按字符数组写入

创建字符流写文件对象:

Writer writer = new FileWriter("dest.txt")

调用方法写入数据(写入字符数组):

char[] chs = {‘橙‘, ‘心‘, ‘橙‘, ‘意‘};
writer.write(chs); // 写一个字符数组

调用方法写入数据(写入字符串):

writer.write("小黑爱学习"); // 写入一个字符串

字符流拷贝文件 – 按单个字符读写

创建字符流读文件对象:

Reader reader = new FileReader("readme.txt");

创建字符流写文件对象:

Writer writer = new FileWriter("dest.txt");

调用方法读取数据:

int data = reader.read();

调用方法写入数据:

writer.write(data);

字符流拷贝文件 – 按字符数组读写

创建字符流读文件对象:

Reader reader = new FileReader("readme.txt");

创建字符流写文件对象 :

Writer writer = new FileWriter("dest.txt");

调用方法读取数据:

char[] chs = new char[2048];
int len = reader.read(chs);

调用方法写入数据:

writer.write(chs);

字符流操作数据的基本用法介绍完了。在实际生产环境中,流的操作非常的缓慢、耗时(打开资源、操作资源、关闭
资源),所以,实际生产环境中的流操作对效率的要求很高。为此,Java的设计者们提供了高效的缓冲流供开发者使
用 ,下篇随笔介绍!

原文地址:https://www.cnblogs.com/sunbr/p/11619753.html

时间: 2024-10-09 08:09:03

Java之字符流读写文件、文件的拷贝的相关文章

用字符流实现每个文件夹中创建包含所有文件信息的readme.txt

1 package com.readme; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileWriter; 6 import java.io.IOException; 7 import java.text.SimpleDateFormat; 8 import java.util.Date; 9 import java.util.Scanner; 10 11 /** 12 * @autho

IO流,字节流复制文件,字符流+缓冲复制文件

JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节流输入输出的基类:InputStream  OutputStream 字符流输入输出的基类:Reader   Writer 字节流复制文件内容 public static void main(String[] args) { //字节流复制文件内容 InputStream io=null; Outp

理解Java中字符流与字节流的区别

1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流:能够向其写入一个字节序列的对象被称为输出流. 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据.Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流.InputStre

Java 字符流读写文件

据说,java读写文件要写很多,贼麻烦,不像c艹,几行代码就搞定.只能抄抄模板拿来用了. 输入输出流分字节流和字符流.先看看字符流的操作,字节转化为字符也可读写. 一.写入文件 1.FileWriter类: FileWriter fw=new FileWriter("hello");//在workspace工作空间里创建文件,文件名为hello FileWriter fw=new FileWriter("E:\\hello");//在E盘创建文件,文件名为hello

使用字符流读写数据

-------------siwuxie095 工程名:TestRWCharStream 包名:com.siwuxie095.charstream 类名:RWByCharStream.java 打开资源管理器,在工程 TestRWCharStream 文件夹下,放入 一个文本:java.txt java.txt 的内容: 工程结构目录如下: 代码: package com.siwuxie095.charstream; import java.io.File; import java.io.Fil

Java IO字符流与字节流

一.基本概念 流:从一端流向另一端,从源头到目的地. 始终与程序为中心,都是程序与文件|数组|网络连接|数据库进行操作. 二.IO流分类 1.流向: 输入流和输出流 2.数据: 字节流:二进制,可以处理文本文件,视频,音频等 . 字符流:文本文件,只能处理纯文本,全款为可见字符(.txt..html). 3.功能: 节点:包裹源头 处理:增强功能,提高性能. 三.字节流与字符流 1.字节流 输入流:InputStream int read(byte[] b) int read(byte[] b,

Java: IO 字符流

FileInputStream和FileOutputStream分别是InputStream和OutputStream的子类,都是字节流.下面例子中有三个方法可以读写字节流: 1.一个一个的 2.一组一组的,可以自定义字节数组的长度 3.使用available方法,可以返回目标文件的长度从而利用该特性建立一个刚刚好长度的字节数组.但该方法有使用风险,例如目标文件过大,一个电影或者一个大数据文件,则会导致超过虚拟机内存的大小,从而出现错误.所以使用该方法要评估风险,如果可以确定目标是小文件,则可以

java中字符流的知识点---IO学习笔记(三)

字符流: 文本和文本文件的区别: 文本: java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码). 文件: 文件是byte byte byte-的数据序列. 文本文件: 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果. 字符流(Reader,Writer) 操作的是文本文件.对于mp3,二进制文件是字节文件不适合用字符流读取,因为读取出来的是char,没有意义. 字符的处理,一次处理一个字符 字符的

字符流读写文本文件

字符输入流读取文本文件 1.  Reader类(读取字符流的抽象类) Reader类的常用方法 方法名称 说明 int read() 从输入流中读取单个字符 int read(byte[] c) 从输入流中读取c .length长度的字符,保存到字节数组c中,返回实际读取的字符数 int read(byte[] c, int off , int len) 从输入流中读取最多len长度的字节,保存到字节数组c中,保存的位置从off开始,返回实际读取的字符数 void close() 关闭流 2.字