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 ... 
随机推荐
- runv containerd 流程分析
			当runv需要启动一个容器的时候,首先需要启动containrd,作为该容器的daemon.因此,启动containerd的相关代码也是从runv/start.go开始.最终,启动containerd ... 
- 《TCP/IP详解 卷一》读书笔记-----UDP&IP 分片
			1.进程每产生一个UDP数据报就由一个IP数据报进行发送,而在TCP中,一个IP数据报并不与每个TCP报文段一一对应 2.UDP的端口号和TCP的端口号是相互独立的,对那些众所周知的端口号TCP和UD ... 
- 边工作边刷题:70天一遍leetcode: day 85-3
			Zigzag Iterator 要点: 实际不是zigzag而是纵向访问 这题可以扩展到k个list,也可以扩展到只给iterator而不给list.结构上没什么区别,iterator的hasNext ... 
- HDU 2082 找单词 --生成函数
			跟上题是一个思路:http://www.cnblogs.com/whatbeg/p/3728545.html 只不过是上一题的扩展. 代码: #include <iostream> #in ... 
- AC日记——舒适的路线 codevs 1001 (并查集+乱搞)
			1001 舒适的路线 2006年 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description Z小镇是 ... 
- [转]  Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
			from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ... 
- JavaScript---Ajax和函数回调,异步编程
			一 Ajax 函数的定义 : Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),无刷新的从服务器读取数据,可以在不重新加载整个网页的情况下 ... 
- windows系统命令服务安装卸载
			安装: sc create PDW.CHM.WebAPI binPath= "%~dp0PDW.CHM.WebAPI.exe" start= autosc start PDW.CH ... 
- .net程序集强命名(签名)
			要想得到强签名的dll有两种情况: 1.给项目添加强命名 在你的项目右键->属性->签名,勾选“为程序集签名”,新建 或 浏览已经新建过的.pfx文件,然后重新build项目,生成的dll ... 
- C# 单点登录 MVC
			实现sso系统的主要难点: 1:不能直接访问数据库,有安全隐患,而且还容易乱套. 2:多个系统需要进行单点登录,逻辑需要严谨,能支持N多系统.而不只是少数几个系统. 3:代码不能过于复杂,需要简洁,灵 ... 
