IO字符流
来源:互联网 发布:鸳鸯 知乎 编辑:程序博客网 时间:2024/05/16 23:59
--
IO(Input Output)
IO
输入流和输出流相对于内存设备而言
将外设中的数据读取到内存中,输入
将内存中的数据写入到外设中,输出
字符流的由来:
其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表,获取对应的文字。
而对这个文字进行操作,简单说:字节流+编码表
字节流的顶层父类InputStream OutputStream
字符流的两个顶层父类:Reader Writer
FileWriter:
既然是往一个文件中写入文字数据,那么在创建对象时。就必须明确该文件(目的地)
如果文件不存在,则自动创建,如果存在,则覆盖掉原来的文件
从内存中把数据写入到文件中,其实第一步是先写入到输出流中。
必须经过刷新才能立即写入到目标文件
关闭流时,会强制自动刷新。
如果关闭流后,在刷新和写入流,会发生IOException()
FileWriterfw = new FileWriter("deom.txt");
fw.write("sdds");
fw.flush(;
fw.close();
如果是换行:则System.getProperty("line.separator");
如果构造方法加入true,可以实现对文件的续写。
FileWriterfw = new FileWriter("deom.txt",true);
异常处理
FileWriterfw = null;
try{
fw= new FileWriter("demo.txt");
fw.write("sds");
}catch (Exception e) {
//TODO: handle exception
if(fw!=null){
try{
fw.close();
}catch (IOException e1) {
//TODO Auto-generated catch block
thrownew RuntimeException("关闭失败");
}
}
}
FileReader
read()读取单个字符,返回的是该字符的字节数,如果读完,则返回-1
FileReaderfr = new FileReader("demo.txt");
intth = 0;
while((th=(fr.read()))!=-1){
System.out.println((char)th);
}
intread(char[]a)读取单个字符,到a数组中,如果能把字符数组填满,则填满
,否则,如果读完,则返回-1,不然返回,读到数组中字符数。
char[] buf = new char[10];
intlen = 0;
while((len=fr.read(buf))!=-1){
newString(buf,0,len);
}
文件的复制
packagecom.sdut.day10;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclass ReadeWrter {
privatestatic final int BUFFE_SIZE = 1024;
publicstatic void main(String[] args) {
Stringsour = "D:\\t1.txt";
Stringdes= "E:\\t2.txt";
readWreteFile(sour,des);
}
privatestatic void readWreteFile(String sour, String des) {
FileReaderfr = null;
FileWriterfw = null;
try{
fr=newFileReader(sour);
fw= new FileWriter(des);
intlen = 0 ;
chara[] = new char[BUFFE_SIZE];
while((len= fr.read(a))!=-1){
fw.write(a,0, len);
fw.flush();
}
System.out.println("读取成功");
}
catch(IOExceptione){
e.printStackTrace();
}
finally{
if(fr!=null){
try{
fr.close();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fw!=null){
try{
fw.close();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
- 字符IO&数据流IO&对象流IO
- IO流-字符流
- IO流-字符流
- IO流--字符流
- java IO(字符流)
- IO之字符流
- IO(3) 字符流
- IO字符流
- IO字符流
- IO之字符流
- IO二:字符流
- IO之字符流
- IO 字符流学习
- IO字符流
- IO字符流总结
- Java Io 字符流
- IO-字符流
- Java 字符流 IO
- Ant编译打包Android项目
- struts2上传文件类型限制
- java内存优化实例----在非UI线程中处理图片
- linux学习第二课
- C#中Socket多线程编程实例 [转载]
- IO字符流
- Android中的Cursor
- 金融知识复习 1
- sprintf() 和 sscanf()
- IO之字节流
- java内存优化实例----缓存Bitmap
- oracle中与mysql中的命令 show databases, show tables, desc table类似的命令集
- eclipse下的tomcat内存设置大小
- 金融知识复习 2