Java回炉之IO流(二)使用规律
2015-12-16 00:17
441 查看
Java回炉之IO流(二)使用规律
[toc]源代码下载
文本文件到文本文件
[code]public class TextFile2TextFile { public static void main(String[] args) { try { //因为是文本文件,所以用FileReader和FileWriter FileReader fileReader = new FileReader("a.txt"); FileWriter fileWriter = new FileWriter("b.txt"); //为了高效,使用带缓冲区的流 BufferedReader bufferedReader=new BufferedReader(fileReader); BufferedWriter bufferedWriter=new BufferedWriter(fileWriter); //写入方式:以字节为单位写入数据 int b=0; while((b=bufferedReader.read())!=-1){ bufferedWriter.write(b); } //写入方式优化:以行为单位写入数据 String string=null; while((string= bufferedReader.readLine())!=null){ bufferedWriter.write(string); } //最后记着从缓冲区写入到文件并关闭流 bufferedWriter.flush(); bufferedWriter.close(); bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } } }
键盘输入到文本文件
[code]public class Keyboard2TextFile { public static void main(String[] args) { try { //输入是键盘,使用System.in InputStream inputStream =System.in; //输出是文本文件,使用FileWriter FileWriter fileWriter = new FileWriter("test.txt"); //为了高效,将输入流封装为转换流 InputStreamReader inputStreamReader=new InputStreamReader(inputStream); //为了高效,使用缓冲流再次封装 BufferedReader bufferedReader=new BufferedReader(inputStreamReader); BufferedWriter bufferedWriter=new BufferedWriter(fileWriter); //写入方式:以字节为单位写入数据 int b=0; while((b=bufferedReader.read())!=-1){ bufferedWriter.write(b); } //写入方式优化:以行为单位写入数据 String string=null; while((string= bufferedReader.readLine())!=null){ bufferedWriter.write(string); } //最后记着从缓冲区写入到文件并关闭流 bufferedWriter.flush(); bufferedWriter.close(); bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } } }
文本文件到屏幕
[code]public class TextFile2Screen { public static void main(String[] args) { try { //输入是文件,使用FileReader FileReader fileReader= new FileReader("test.txt"); //输出是屏幕,使用System.out OutputStream outputStream=System.out; //为了高效,将输出流封装为转换流 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); //为了高效,使用缓冲流再次封装 BufferedReader bufferedReader=new BufferedReader(fileReader); BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter); //写入方式:以字节为单位写入数据 int b=0; while((b=bufferedReader.read())!=-1){ bufferedWriter.write(b); } //写入方式优化:以行为单位写入数据 String string=null; while((string= bufferedReader.readLine())!=null){ bufferedWriter.write(string); } //最后记着从缓冲区写入到文件并关闭流 bufferedWriter.flush(); bufferedWriter.close(); bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } } }
键盘到屏幕
[code]public class Keyboard2Screen { public static void main(String[] args) { try { //输入是键盘,使用System.in InputStream inputStream =System.in; //输出是屏幕,使用System.out OutputStream outputStream=System.out; //为了高效,将输入流封装为转换流 InputStreamReader inputStreamReader=new InputStreamReader(inputStream); OutputStreamWriter outputStreamWriter=new OutputStreamWriter(outputStream); //为了高效,使用缓冲流再次封装 BufferedReader bufferedReader=new BufferedReader(inputStreamReader); BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter); //写入方式:以字节为单位写入数据 int b=0; while((b=bufferedReader.read())!=-1){ bufferedWriter.write(b); } //写入方式优化:以行为单位写入数据 String string=null; while((string= bufferedReader.readLine())!=null){ bufferedWriter.write(string); } //最后记着从缓冲区写入到文件并关闭流 bufferedWriter.flush(); bufferedWriter.close(); bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } } }
带字符集的文件到文件
[code]public class TextFile2TextFileWithCharset { public static void main(String[] args) { try { //输入是文本文件,所以用FileReader FileReader fileReader = new FileReader("a.txt"); //输出虽是文本文件,但制定了字符集则不能使用FileWriter,需要使用OutputStreamWriter OutputStreamWriter outputStreamWriter= new OutputStreamWriter(new FileOutputStream("b.txt"),"utf-8"); //为了高效,使用带缓冲区的流 BufferedReader bufferedReader=new BufferedReader(fileReader); BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter); //写入方式:以字节为单位写入数据 int b=0; while((b=bufferedReader.read())!=-1){ bufferedWriter.write(b); } //写入方式优化:以行为单位写入数据 String string=null; while((string= bufferedReader.readLine())!=null){ bufferedWriter.write(string); } //最后记着从缓冲区写入到文件并关闭流 bufferedWriter.flush(); bufferedWriter.close(); bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- Java @SuppressWarnings
- Java 不定长度参数
- java设计优化--装饰者模式
- Spring 通知
- MyEclipse创建spring mvc 项目及遇到无法把maven依赖jar包发布到服务器下解决
- eclipse中properties文件编码问题
- java对象与Map互转
- java对象的一些基本操作,复制对象,判断是否为基本数据类型等
- 将java集合转换成map
- Gson详解:Java对象与JSON相互转换的利器
- ios端与java之间的RSA算法加密
- Spring容器启动时出现Failed to read schema document错误
- 如何删除eclipse中某个Web项目的所有SVN信息
- JAVA Propertes集合
- JAVA-正则表达式
- spring mvc controller间跳转 重定向 传参
- Spring+Mybatis+Velocity
- Eclipse MAVEN配置问题
- java.lang.OutOfMemoryError异常解决方法
- java编程基础