java-IO操作-使用字符流读写数据
2016-05-13 16:35
483 查看
InputStreamReader实现文本文件的读取
package Test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; public class RWByCharStream { public static void main(String[] args) { try { File file=new File("test.txt"); // 字节流 FileInputStream fis=new FileInputStream(file); //讲字节流转换为字符流 InputStreamReader isr=new InputStreamReader(fis,"GBK"); char [] input=new char[100]; int L=0; while((L=isr.read(input))!=-1){ System.out.println(new String(input,0,L));//指定当前的偏移量和长度。这样读取到文件最后的时候, //当前数组没有被填满,之前读取的就不会在被输出 } isr.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
使用InputStreamReader和OutputStreamWriter实现文本文件拷贝
package Test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; public class RWByCharStream { public static void main(String[] args) { try { // File file=new File("test.txt"); // 字节流 FileInputStream fis=new FileInputStream("test.txt"); //讲字节流转换为字符流 InputStreamReader isr=new InputStreamReader(fis,"GBK"); FileOutputStream fos=new FileOutputStream("test_new.txt"); OutputStreamWriter osw=new OutputStreamWriter(fos,"GBK"); char [] input=new char[100]; int L=0; while((L=isr.read(input))!=-1){ // 设置偏移量和长度 osw.write(input,0,L); } isr.close(); fis.close(); osw.close(); fos.close(); System.out.println("done"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- java生成不重复随机数
- MyEclipse中对项目分类管理
- Java 移位运算(<<、>>、>>>)
- JavaWeb开发之深入分析URL重定向的原理和特点(跟着龙哥学JavaWeb)
- Java 基本操作
- java输入输出流小细节
- jvm为什么要分代
- Java的Actor框架--kilim
- install jdk 1316 error
- 自定义顺序存储结构线性表--java语言描述
- jvm优化堆大小设置
- [Java视频笔记]day24
- javac命令无法使用解决办法
- JAVA经典题目及答案(前30)
- Java学习篇之---环境变量和系统属性
- Struts2中使用Session的两种方法
- java的spilt(“,”)方法bug处理
- 接(第二篇) Java 多线程 编程 基础 教程
- javaweb总结(5) - servlet开发
- java读取配置文件(*.propertes)的内容