IO流(2)
来源:互联网 发布:数据降维方法 编辑:程序博客网 时间:2024/05/16 02:13
字节流:FileInputStream 读取字节流
第一种读取方式:
FileInputStream fis = new FileInputStream(file);
int by =0;
while((by=fis.read())!=-1){
System.out.println(by);
}
第二种读取方式: read(byte[]);
byte[] buf = new byte[2];
int lent=0;
while((len = fis.read(buf)!=-1){
System.out.println(new String(buf,0,len));
}
缓冲区大小:
byte[] buf = new byte(fis.available());//创建了一个和文件大小一样的缓冲区
fis.read(buf);
String s= new String (buf);
字节流的缓冲区对象:
FileInputStream fis = new FileInputStream("teamp\\.1.jpg");
BufferedInputStream bufis = new BufferedInputStream(fis);//对流进行 缓冲
FileOutputStream fos = new FileOutputStream("teamfile\\copy.txt");
BufferedOutputStream bufos = new BufferedOutputStream(fos);//对流进行 缓冲
bufos.flush(); //缓冲流的刷新
***操作中文数据****
读取中文,按照字节的形式,但是一个中文GBK码表中是两个字节
而且字节流的read方法一次读取一个字节,如何获取到一个中文?
别读一个就操作,多读一些存起来,再操作,存到字节数组中,将字节数组转成字符串
String s = new String (bus,0,len);//将字节数组转成字符串,而且是按照默认的编码表(GBK)进行解码
***编码表****
Unnicode:
标识头信息
0....... 1个字节
110...... 10 ... 2 个字节
1110...... 10.... 10 .. 三个字节
中文编码表: 两个字节开头都是 1
GBK: 第一个是1开头, 第二个是0开头
*** InputStreamReader ***********
InputStreamReader是字节流通向字符流的桥梁,它使用指定的 charset 读取字节并解码为字符
InputStreamReader isr = new InputStreamReader(fis);
int ch = isr.read();
System.out.println((char)ch);
***** OutputStreamWriter *****
OutputStreamWriter 是字符流通向字节流的桥梁,它使用指定的 charset 读取字符并编码为字节
OutputStreamWriter osw = new OutputStreamWiter(fos);
osw.writr("你好");
//关闭资源。 flush()刷新完,流可以继续使用,close刷新完,直接关闭,流结束了,不能再写
字符流=字节流+编码表
*** 转换流的子类,
专门用于操作文本文件的流对象。
FileWriter fw = new FileWriter("tempfile\\fw.txt");
fw.write("你好");
read:
FileReader fr = new FileReader("tempfile\\fw.txt");
int ch =0;
while((ch=fr.read())!=-1){
System.out.println((char)ch);
}
对字符进行操作要选选择字符流。
BufferedWriter:
FileWriter fw = new FileWriter("tempfile\\bufw.txt");
BufferedWriter bufw = new BufferedWriter(fw);
bufw.write("abc");
*** 读取键盘录入:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
bufr.readLine(); // 一次读一行
Scanner=流+正则表达式,方法都是按照某种规则在读取数据。
- IO流(2)
- IO流(2)
- IO流(1) io, filter
- JavaSE IO流(2) 字节流
- IO流总结(2)----字节流
- 黑马程序员----IO流(2)
- java学习--IO流(2)
- Java IO流总结(2)
- 码神作业(io流2)
- 5、(知识篇)IO流(2)
- IO流(2)—知识结构
- IO流2
- Java io流(2)
- io流 2
- IO流2
- IO输入输出流-2
- IO流1-2
- IO流笔记2
- 广义线性模型
- 获取CPU使用率脚本
- 黑马程序员——高新技术---Java基础-常用类-排序,Arrays高级数组,Integer类
- Fiddler对安卓应用手机抓包图文教程
- 如何看待成人用品
- IO流(2)
- 添加gitignore文件没有起作用怎么办
- LeetCode Implement Queue using Stacks
- 评估指标:准确率(Precision)、召回率(Recall)以及F值(F-Measure)
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android SDK开发包国内下载地址
- 在Ubuntu Server 14.04 LTS版上以git方式源码安装Odoo8.0
- 关于udp接收端程序
- Mac下的vim配置