黑马程序员——IO流总结之一
来源:互联网 发布:海岛奇兵神庙升级数据 编辑:程序博客网 时间:2024/06/05 21:18
经过几天的学习把IO流给学完了,总结下部分知识吧。欢迎拍砖。
字符流读取数据方式:
一个字符一个字符的读:
FileReader fr =new FileReader("Demo.text");
int ch = 0;
while((ch=fr.read())!=-1)
{
Sop.(ch);
}
第二种:通过字符数组进行读取:
Char[] buf = newchar[1024的整数倍];
int len = 0;
while((num=fr.read(buf))!=-1)
{
Sop(new String(buf,0,len))
}
第三种:
字符流缓冲区提供了一次读一行的方法
建立一个读取流缓冲区
BufferedReaderbufr = new BufferedReader(new FileWriter("abc.txt"));
String line = null;
While((line=bufr.readLine())!=null)
{
System.out.println(line);
}
第四种方式:带行号的一次读一行的方式
FileReader fr =new FileReader("PersonDemo.java");
LineNumberReaderlnr = LineNumberReader(fr);
String line =null;
lnr.setLineNumber(100);
while((line=lnr.readLine())!=null)
{
System.out.println(lnr.getLineNumber()+":"+line);
}
字节流的读取方式:
第一种一个字符一个字符的读
FileInputStreamfis = new FileInputStream("abc.txt");
char ch = 0;
while((ch=fis.read())!=-1)
{
sop.(ch);
}
第二种创建一个字节数组一次读一个数组
byte[] buf = newbyte[1024的整数倍];
int len = 0;
while ((len =fis.read(buf)!=-1)
{
sop.(new String(buf,0,len));
}
建立缓冲区字符输入输出流读法:
BufferedReaderbufr = new BufferedReader(new FileReader("asdb.txt"));
BufferedWriterbufw = new BufferedWriter(new FileReader("asdb.txt"));
String line =null;
while ((line =bufr.readLine())!=null)
{
buwr.write();一次读一行
bufw.newLine();可以直接换行
bufw.flush();只要涉及缓冲区必须带刷新
}
bufr.close();
bufw.close();
建立缓冲区的字节流输入输出流的方法
BufferedInputStreambufis = new BufferedInputStream(new FileInputStream("sadf.txt"));
BufferedOutputStreambufos = new BufferedOutputStream(new FileOutputStream("sadf.txt"));
这里不能用readLine()他只有字符缓冲区才有。
直接一个字节字节的读
int by = 0;
while ((len=bufis.read(by)!=-1)
{
bufos.write(by);
}
bufos.close();
bufis.close();
流对象有很多,不知道该用哪一个。
通过三个明确来完成。
1,明确源和目的。
源:输入流。InputStream Reader
目的:输出流。OutputStream Writer。
2,操作的数据是否是纯文本。
是:字符流。
不是:字节流。
3,当体系明确后,在明确要使用哪个具体的对象。
通过设备来进行区分:
源设备:内存,硬盘。键盘
目的设备:内存,硬盘,控制台。
装饰设计模式
当想要对已有的对象进行功能增强时;
我们可以定义一个类,把已有对象传人,基于已有的功能,并提供加强功能,
那么自定义的类称为装饰类
键盘输入输出流的读写方式:
键盘最常见的输入方式:将字节流对象转成字符流对象,使用转换流InputStreamReader
BufferedReader bufr= new BufferedReader(new FileInputStream(System.in));
BufferedWriterbufw = new BufferedWriter(new OutputStreamWriter(System.out));
String line =null;
while ((line =bufr.readLine())!=null)
{
if ("over".eauals(line))
break;
bufw.write(line);
bufw.readLine();
bufw.flush();
}
bufw.close();
好了,现总结这么多,总结了一晚上了,黑马,加油!!1
---------------------- android培训、java培训、期待与您交流! ----------------------- 黑马程序员——IO流总结之一
- 黑马程序员——IO流总结
- 黑马程序员——IO 流总结
- 黑马程序员———IO总结
- 黑马程序员——java---IO总结
- 黑马程序员——IO总结
- 黑马程序员——IO流总结之二
- 黑马程序员——day19(2)IO流 总结
- 黑马程序员——对IO流的总结
- 黑马程序员——IO流学习总结
- 黑马程序员——java-IO流概念总结
- 黑马程序员——IO流总结(一)
- 黑马程序员—IO流部分基础知识总结
- 黑马程序员—IO流缓冲区知识总结
- 黑马程序员—io流
- 黑马程序员—IO流
- 黑马程序员—IO流
- 黑马程序员 — IO流
- 收藏一下,虽然很多东西还没接触到
- 一道面试题,对一个数组进行排序,第一个最大,第二个最小,第三个次大,一次类推
- Java EE连接SQL Servet 2008的时遇到的一些问题及解决方法
- 算法的时间复杂度分析
- 计算
- 黑马程序员——IO流总结之一
- MySQL学习笔记(四)性能优化2
- joomla
- 安装rational rose 2003
- win7 无线共享 使用 microsoft visual wifi miniport adapter
- Oracle 存储过程 与 函数 区别
- 数据结构概述
- 黑马程序员——IO流总结之二
- ADO.Net炸弹代码性能调优