1.reader

package com.io.Reader;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader; public class InputStreamReaderTest { /**InputStreamReader类的用法 ,主要的是用于把 字节流改变成字符流
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InputStreamReader isr=new InputStreamReader(new FileInputStream("D:/Zhou.txt"),"utf-8");
//int data;
//while((data=isr.read())!=-1){
// System.out.print((char)data);
//} //budderedReader类
BufferedReader br=new BufferedReader(isr);
System.out.println(br.readLine());
isr.close();
} } package com.io.Reader; import java.io.IOException;
import java.io.StringReader; public class StringReaderTest { /**StringReader的用法
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
StringReader reader=new StringReader("ni hao 好");
int data;
while((data=reader.read()) != -1){
System.out.println((char)data+" "); }
reader.close();
}
} 2.writer package com.io.writer; import java.io.*; public class FileUtil { /**copy文件的类 字符流的运用
* @param args
* @throws Exception
*/
public void readFile(String fileName) throws Exception{
readfile(fileName, null);
} public void readfile(String fileName,String charsetName) throws Exception{
InputStream in=new FileInputStream(fileName);
InputStreamReader isr=null;
if(charsetName==null){
isr=new InputStreamReader(in);
}else{
isr=new InputStreamReader(in,charsetName);
} BufferedReader br=new BufferedReader(isr);
String data;
while((data=br.readLine()) != null){
System.out.println(data);
} br.close();
} public void copyFile(String from,String charsetFrom,String to,String charsetTo) throws Exception{
InputStream in=new FileInputStream(from);
InputStreamReader reader;
if(charsetFrom == null){
reader=new InputStreamReader(in);
}else{
reader=new InputStreamReader(in,charsetFrom);
} BufferedReader br=new BufferedReader(reader); OutputStream out=new FileOutputStream(to);
OutputStreamWriter write=new OutputStreamWriter(out,charsetTo);
BufferedWriter bw=new BufferedWriter(write);
PrintWriter pw=new PrintWriter(bw);
String data;
while((data=br.readLine()) !=null){
pw.println(data);
} pw.close();
br.close();
} public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileUtil fileUtil=new FileUtil(); fileUtil.readFile("D:/Zhou.txt");
fileUtil.copyFile("D:/Zhouhai.txt", "utf-8", "D:/Zhou.txt", "utf-8");
fileUtil.readFile("D:/Zhou.txt");
} }

JavaIO中的Reader和writer的更多相关文章

  1. java中reader和writer部分的笔记

    输入和输出流:获取流对象从文件中获取InputStream in = Files.newInputStream(path);OutputStream out = Files.newOutputStre ...

  2. Java中的流(3)字符流-Reader和Writer

    java中提供了处理以16位的Unicode码表示的字符流的类,即以Reader和Writer 为基类派生出的一系列类.  1.Reader和Writer  这两个类是抽象类,只是提供了一系列用于字符 ...

  3. JavaIO -- Reader 和 Writer

    一.简介 设计Reader和Writer继承层次结构主要是为了国际化.InputStream和OutStream流继承层次结构仅支持8位字节流,并不能很好的处理16位的Unicode字符.由于Unic ...

  4. java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝

    接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...

  5. Java之IO(十)Reader和Writer

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7071733.html 1.前言 之前的章节已经将Java8的io包中的字节流介绍完毕了.本章开始介绍Java的I ...

  6. java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别

      标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报  分类: 孙鑫-java基础(16)  I-O(4 ...

  7. 牛客网Java刷题知识点之输入流、输出流、字节流、字符流、字节流的抽象基类(InputStream、OutputStream)、字符流的抽象基类(Reader、Writer)、FileWriter、FileReader

    不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输 ...

  8. Java I/O(三)各种Reader和Writer读写器、RandomAccessFile随机访问文件、序列化

    2019 01/01 八.Reader和Writer读写器 前面讲的输入输出流的基本单位都是字节,因此可以称为“字节流”,读写器是以字符为基本单位,可以称为“字符流”.它们的使用方法非常相似,因此我考 ...

  9. Java IO: Reader和Writer

    作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) Reader 原文链接 Reader是Java IO中所有Reader的基类.Reader与Input ...

随机推荐

  1. [转]通过AngularJS directive对bootstrap日期控件的的简单包装

    本文转自:http://www.cnblogs.com/Benoly/p/4109460.html 最近项目上了AngularJS,而原来使用的日期控件的使用方式也需要改变,于是开始了倒腾,看了官方的 ...

  2. 该怎样提高ZBrush的创作效率

     ZBrush是一款数字雕刻和绘画软件,以强大的功能和直观的工作流程改变了整个三维行业,相信使用ZBrush的人都希望加快雕刻速度提高ZBrush技能,很多雕刻专家也都试图证明加快雕刻速度是否真的能提 ...

  3. 合工大OJ 1337 一加二减三

    Description 题目描述:给一个串,形如一+二-三,求值 Input 第一行为一个正整数T,表示数据的组数,接下来有T行每行都是一个形如一+二-三的串,一,二,三均为正整数 Output 对于 ...

  4. hihocoder-1389&&2016北京网赛07 Sewage Treatment(二分+网络流)

    题目链接: Sewage Treatment 时间限制:2000ms 单点时限:2000ms 内存限制:256MB 描述 After years of suffering, people could ...

  5. 最长上升子序列(LIS)模板

    最长递增(上升)子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i<j,必有a[i]<a[j],这样最长的子序列称为最长递增(上升)子序列. 考虑两个数a[x ...

  6. bundle是什么?

    bundle就是一个数据对象,像Map,HashMap一样key-value键值对的方式存放数据.在android中用于应用程序之间数据传输,不过是要靠对象使用的 谢谢,又知道了一种在Activity ...

  7. Spring 中注入 properties 中的值

    <bean id="ckcPlaceholderProperties" class="org.springframework.beans.factory.confi ...

  8. 常用excel技巧

    1.excel 设置行列分色显示  =MOD(ROW(),2)=0 2.多表匹配数据 通过身份证在另外一个表查找这个人的基本信息 第一张表 第二张表: =VLOOKUP(F12,'2014总表'!D: ...

  9. easyui添加自定义验证规则

    $.extend($.fn.validatebox.defaults.rules, { phone: { validator: function (value) { return /^(\d{3,4} ...

  10. 监控Mysql主从环境下Slave延迟状态的操作记录

    在MySQL主从环境下,通常会根据Seconds_Behind_Master的值来判断slave的延迟状态,这么做在大部分情况下尚可接受,但其实是并不够准确的.对于Slave延迟状态的监控,应该考虑多 ...