JavaIO中的Reader和writer
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的更多相关文章
- java中reader和writer部分的笔记
输入和输出流:获取流对象从文件中获取InputStream in = Files.newInputStream(path);OutputStream out = Files.newOutputStre ...
- Java中的流(3)字符流-Reader和Writer
java中提供了处理以16位的Unicode码表示的字符流的类,即以Reader和Writer 为基类派生出的一系列类. 1.Reader和Writer 这两个类是抽象类,只是提供了一系列用于字符 ...
- JavaIO -- Reader 和 Writer
一.简介 设计Reader和Writer继承层次结构主要是为了国际化.InputStream和OutStream流继承层次结构仅支持8位字节流,并不能很好的处理16位的Unicode字符.由于Unic ...
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- Java之IO(十)Reader和Writer
转载请注明源出处:http://www.cnblogs.com/lighten/p/7071733.html 1.前言 之前的章节已经将Java8的io包中的字节流介绍完毕了.本章开始介绍Java的I ...
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报 分类: 孙鑫-java基础(16) I-O(4 ...
- 牛客网Java刷题知识点之输入流、输出流、字节流、字符流、字节流的抽象基类(InputStream、OutputStream)、字符流的抽象基类(Reader、Writer)、FileWriter、FileReader
不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输 ...
- Java I/O(三)各种Reader和Writer读写器、RandomAccessFile随机访问文件、序列化
2019 01/01 八.Reader和Writer读写器 前面讲的输入输出流的基本单位都是字节,因此可以称为“字节流”,读写器是以字符为基本单位,可以称为“字符流”.它们的使用方法非常相似,因此我考 ...
- Java IO: Reader和Writer
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) Reader 原文链接 Reader是Java IO中所有Reader的基类.Reader与Input ...
随机推荐
- Centos 6.5(64bit)上安装Vertica single node
在Win8上使用虚拟机Virtualbox安装Centos6.5,想在上面安装vertica. 以下记录了我在安装的过程中遇到的问题与一些解决方案. 1.安装Centos的时候遇到了一个恼人的问题,即 ...
- 《TCP/IP详解 卷一》读书笔记-----TCP persist &Keeplive timer
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK ...
- sqlzoo.net刷题4
SELECT name, continent FROM world a WHERE population > ( FROM world b WHERE a.continent = b.conti ...
- js原生选项卡(包含无缝滚动轮播图)一
原生js选项卡的几种写法,整片文章我会由简及难的描述几种常用的原生选项卡的写法: Improve little by little every day! 1>基本选项卡: 思路:循环中先清除再添 ...
- SQL语句统计每天、每月、每年的数据
1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...
- Jsp页显示时间标签JSTL标签 <fmt:formatDate/> 实例大全
<fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59 <fmt ...
- zabbix错误记录
zabbix部署好,在使用一段时间后,出现了不少报错,在此简单做一记录.1)Zabbix监控界面报错“Lack of free swap space”解决公司线上部署的zabbix3.0的监控界面首页 ...
- 11Mybatis_mybatis开发Dao的方法
在介绍开发Dao的方法之前先介绍下SqlSession. 1.先介绍一下SqlSessionFactoryBuilder:通过SqlSessionFactoryBuilder创建会话工厂SqlSess ...
- 支持MVC的代码生成运行效果 C# ASP.NET
做技术的,你若还不懂MVC的话,你好像是外星球来的一样,或者还生活在远古社会里一样,这几天正好没什么事情干,可以静心学习学习MVC技术,顺便把原先的代码生成器修改了一下,只要数据库里设计好了数据结构, ...
- Nginx+UWSGI+Django配置全过程
重度参阅 原理+实战http://zhou123.blog.51cto.com/4355617/1688434 原理http://www.cnblogs.com/fnng/p/5268633.html ...