Java通过阅读器书写器实现按编码读写字符
来源:互联网 发布:詹姆斯总决赛场均数据 编辑:程序博客网 时间:2024/06/05 14:59
一,简介
通过按字节的方式读写文件,实际上是比较底层的,并不算方便。实际程序员可能更喜欢指定编码(如UTF-8),并按字符读写。
Java提供了封装好的阅读器、书写器替我们完成了流-字符转换,我们直接可以操作读写字符的函数即可。
二,示例
工具类
//工具类package com.maoge.stream;import java.io.File;public class StreamUtils { //用于定义每次读取的长度 public static final int BUFFER_LENGTH=512; //文件对象 public static File FILE_FOR_READ; public static File FILE_FOR_WRITE; static{ FILE_FOR_READ=new File("C:\\test.txt"); FILE_FOR_WRITE=new File("C:\\result.txt"); }}
阅读器、书写器
package com.maoge.stream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;//阅读器、书写器示例public class ReaderWriterDemo { //测试入口 public static void main(String[] args){ //书写器OutputStreamWriter示例 writeText("哈利路亚"); //阅读器InputStreamReader示例 readText(); //可以在InputStreamReader上再串联一个BufferedReader,实现按行读取,这个就非常方便了。 System.out.println("开始按行读取"); readLine(); } public static void writeText(String text){ OutputStreamWriter out=null; try { //OutputStreamWriter是按字符(非字节了)方式写入,同时可以指定编码 out=new OutputStreamWriter(new FileOutputStream(StreamUtils.FILE_FOR_WRITE),"UTF-8"); out.write(text); out.flush(); } catch (Exception e) { System.out.println(e.toString()); }finally{ try { out.close(); } catch (IOException e) { System.out.println(e.toString()); } } } public static void readText(){ InputStreamReader in=null; try{ //注意阅读器一次读取一个字符 in=new InputStreamReader(new FileInputStream(StreamUtils.FILE_FOR_READ),"UTF-8"); StringBuilder sb=new StringBuilder(); int readInt; while((readInt=in.read())!=-1) sb.append((char)readInt); System.out.println(sb.toString()); }catch(Exception e){ System.out.println(e.toString()); }finally{ try { in.close(); } catch (IOException e) { System.out.println(e.toString()); } } } public static void readLine(){ BufferedReader br=null; try{ br=new BufferedReader(new InputStreamReader(new FileInputStream(StreamUtils.FILE_FOR_READ),"UTF-8")); String line = null; while((line = br.readLine())!=null) { System.out.println(line); } }catch(Exception e){ System.out.println(e.toString()); }finally{ try { br.close(); } catch (IOException e) { System.out.println(e.toString()); } } }}
阅读全文
0 0
- Java通过阅读器书写器实现按编码读写字符
- Java输入输出流、过滤器、阅读器、书写器
- IO(书写器/阅读器)
- 通过java书写日志文件,换行的实现
- Java 按编码读写文件
- DruidDataSource 通过编码方式实现数据库读写分离。
- 通过Java实现文件的编码转换
- 用notepad++书写java,编译java程序是出现:错误: 编码GBK的不可映射字符问题的解决
- Java 字符编码工具类 [UTF-8 编码实现]
- java书写sql语句提示无效字符
- Java读写字符
- java 字符流 读写
- 通过过滤器设置字符编码
- Java 字符流实现文件读写操作(FileReader-FileWriter)
- java 字符流实现文件读写操作(FileReader-FileWriter)
- 通过java i/o流实现文件的读写功能
- scala 读写文本设置字符编码
- avi通过文件读写方式实现剪切、拼接(不经过解码、编码)
- 1-day(HTML标签)
- 装饰器的简单使用
- MVC+jQuery.Ajax异步实现增删改查和分页的实例
- java.net.ServerSocket 解析
- oracle常用函数整理
- Java通过阅读器书写器实现按编码读写字符
- plsqldev中写json
- Android 热修复技术
- 2017天梯赛决赛总结(2017/4/19)
- [转载]69道Spring面试题和答案
- Python学习随笔二:list和tuple
- 35对象5---window对象
- 2017年8月15日
- 移动端H5上传图片预览