黑马程序员-------JAVA_IO输入与输出

 

---------------------- android培训java培训、期待与您交流!----------------------





IO流
IO流也分字符流,字节流
字节流有两个基类   InputSteam OutputSteam 
字符流两个基类 Reader Writer 
             ---------Filewriter操作文件


例子
1.//创建一个filewriter 对象,明确文件 ,该文件会被创建到指定目录下,如果该目录下已经存在同名文件,会被覆盖
Filewriter fw =FileWriter ("demo.txt")
2.fw.writer("abcdfe")写入流中
3.fw.flush();刷新流对象中的缓冲数据
4.fw.close();关闭流资源,但也会刷新一次


IO异常处理一般办法
Filewriter fw = null;
try{fw=new Filewriter("demo.txt")
fw.write("abcdf")}
catch(IOException e)
{sop(e.toString)}
finall{ try{if(fw!=null) fw.close();)
catch(IOException e)
{sop(e.toString)}
FileWriter文件末尾增("demotxt",true)
是在源文件后面继续加入
\r\n 是换行的作用


fr.read 读取一个字符,一次只读一次
读取字符串
int len=0, char[]buf =new char[1024]
while((len=fr.read(buf))!=-1)
{
sop(new string (buf,0,len));

}






拷贝文件文本---C盘一个文件到D盘
原理:1.在D盘创建一个文件,用于存C盘文件的数据
2.定义读取流和C盘关联,
3.不断读写、
4.关闭资源
FileWriter  fw= new FileWriter(目的地文件)
FileReader fr= new FileReader(需被复制的文件)


字符流的缓冲区、
提高了对数据的读写效率、
BufferedWriter 
bufferedreader     需结合流使用
缓冲区是为了提高流的效率,所以必须要有流对象 


readLine(); 读一行,返回数据,不返回最后的回车符。。
String line= null.
while( line=bufr.readLine()!=null)
{sop(line)}




装饰设计模式 
当想要对已有的对象进行功能增加时,可定义类,将已经有的对象传入,基于本功能 提供加强,自定义的该类称为装饰类
装饰和继承的区别?
装饰模式比继承更灵活,避免继续体系的臃肿, 装饰类,和被装饰类功能类似,更强而已


字节流(图片,数据)FileSteam,
OutputSteam 写 直接写入,不需要flush,


键盘输入
InptuSteam  in = System.in



字节流赚字符流,使用字符流的readline方法,
inputstreamreader是字节流通向字符流的桥梁。


字符流转字节流的桥梁、
outputSream writer 




流操作的基本规律
1.明确源和目的地
    源:输入流 inputstream  reader
    目的地:输出流 outputstream 
writer 
2.操作的数据是否为纯文本。
是。 filereader和 filewriter 
否, inputstream和outputstream


3当体系明确后,在明确使用的具体对象
设备来区别 源设备 :内存,硬盘,。键盘、
目的设备 内存 硬盘,控制台


通常字符编码转换时使用 转换流,
默认gbk编码




File 类
将文件或者文件夹封装成对象,方便进行操作
File f=new File("a.txt")
1.创建文件 boolean createNewFile();
在指定位置创建,如已存在,则不创建,返回错。


2.删除delete ,失败返回flase 
deleonExit 退出时删除
3,判断 canExecute()文件是否可执行,
、exists(),是否存在文件或者文件夹 
isDirectiory 是否是目录
isFile()是否文件
4.获取
getname文件名
getpath文件路径
length()文件长度
file1.renameTo(file2)重命名






listroots();列出本机盘符
list()列出当前目录文件 文件夹名称,返回字符串 


properties
是hashtable子类,专门与IO结合的map集合特点,
用于键值对形式的配置文件
设置和获取元素
prop.setproperty( )
prop.getproperty 
stringpropertyNames()返回set集合所有的建 




SequenceInputStream 对多个流进行合并












---------------------- android培训java培训、期待与您交流! ----------------------

 详细请查看:http://edu.csdn.net/heima


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值