本篇文章朋友在北京逛街的时候突然想到的...今天就有想写几篇关于对象方法的博客,所以回家到之后就奋笔疾书的写出来发表了
flush()和close()的区别
flush:刷新缓冲区,流对象还可以继承应用。
close:刷新缓冲区,关闭流对象,流对象不可以继承应用
1T=1024G
1G=1024M
1M=1024K
1K=1024byte
1byte=8bit
字符流
*Reader
*FileReader
*int num=0;
while((num=fr.read())!=-1){
S.O.P((char)num);
}
*char[] chs = new char[1024];
int len=0
while((len=fr.read(chs))!=-1){
S.O.P(String.copyValueOf(chs,0,len));
}
*BufferedWriter
特殊方法:public void newLine();写入一个行分割符,可以识别不同的系统
*Writer
*FileWriter
*BufferedWriter
特殊方法:public String readLine():根据行结束符读取一行数据,并把该行数据作为一个字符串返回。
字节流
*InputStream
*FileInputStream
*BufferedInputStream
*OutputStream
*FileOutputStream
*BufferedOutputStream
3:转换流(懂得)
因为我想应用高效字符流的方法。
InputStreamReader:字节流通向字符流的桥梁
OutputStreamWriter:字符流通向字节流的桥梁
4:IO流复制文件的操作法则(把握)
(1)文本文件 -- 文本文件
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
(2)文本文件 -- 控制台输出
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
(3)键盘录入 -- 文本文件
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
while((line=br.readLine())!=null)
{
if("over".equals(line))
{
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
(4)键盘录入 -- 控制台输出
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=br.readLine())!=null)
{
//如果数据源是键盘录入,就得自定义结束
if("over".equals(line)
{
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
1:IO中特殊的流对象(懂得)
(1)对象流,序列化流(懂得)
ObjectOutputStream:
void writeObject(Object obj)
ObjectInputStream:
Object readObject()
注意:
A:如果一个类的对象要想被对象流操作,就必须实现序列化接口。
B:这个接口只是起到标识的作用,没有方法需要实现。
C:如果类的简略修改不像影响程序的运行,我们就自己给定序列化id号。
D:序列化:把对象按照流一样的方式在网络中传输和写入文本文件。
反序列化:把文本文件的数据或者网络中传递的流对象数据解析成一个对象。
(2)打印流(把握)
PrintWriter:
PrintStream:
特点:
A:可以写入任意类型的数据。
B:如果启用了自动刷新,会在调用println方法的时候,刷新,并且还会自动换行。
C:打印流也是可以直接操作文件的流对象。
哪些流对象可以直接操作设备呢?
查看结构方法,如果有File和String的结构参数同时存在的情况,
该流对象就是可以直接操作设备的对象。
把握的案例:
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("b.txt"),true);
String line = null;
while((line=br.readLine())!=null)
{
pw.println(line);
}
pw.close();
br.close();
(3)Properties的应用(懂得)
A:作为Map体制应用
B:有自己的作为Map的特殊方法
getProperty(String key)
getProperty(String key,String defaultValue)
setProperty(String key,String value)
C:和IO的结合方法
list:用打印流把集合中的数据写入文件
load:用任意流把文件中的数据加载到集合中
store:用任意流把集合中的数据写入文件
D:案例:(把握)
把prop.txt文件中的键为lisi的值修改成35。
文章结束给大家分享下程序员的一些笑话语录: 女人篇
有的女人就是Windows虽然很优秀,但是安全隐患太大。
有的女人就是MFC她条件很好,然而不是谁都能玩的起。
有的女人就是C#长的很漂亮,但是家务活不行。
有的女人就是C++,她会默默的为你做很多的事情。
有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
有的女人就是SQL,她会为你的发展带来莫大的帮助。
--------------------------------- 原创文章 By
对象和方法
---------------------------------