D17am IO流
IO流
public class Demo{
public static void main(String[] args) throws IOException {
long begin=System.currentTimeMillis();
Reader reader=new FileReader("D:\\a.txt");
BufferedReader breader=new BufferedReader(reader);
Writer writer=new FileWriter("D:\\b.txt");
BufferedWriter bwriter=new BufferedWriter(writer);
int f=0;
String l=null;
while((l=breader.readLine())!=null ) {
bwriter.write(l);
}
breader.close();
bwriter.newLine();
bwriter.write("123");
bwriter.close();
long end=System.currentTimeMillis();
System.out.println("时间:"+(end-begin));
}
}
使用BufferedReader、BufferedWriter进行输入输出
BufferedReader、BufferedWriter比Reader、Writer优势:在原来Reader、Writer上包装了缓冲区,方便,不用自己弄char []
.readLine()
返回String类型
按行读取,遇到\n停止,不包括\n
l=breader.readLine()
bwriter.newLine();
关于异常处理
1.一般操作
public static void main(String[] args) {
Writer a=null;
try {
a=new FileWriter("D:\\a.txt");
a.write("xxxx");
a.flush();
a.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(a!=null) {
a.close();}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
a=null;
}
}
}
记得在 **finally里面加close()或者null ** **finally里面加close()或者null ** **finally里面加close()或者null **
2.快捷操作
try(Writer a=new FileWriter("D:\\a.txt")){
a.write("xxxx");
a.flush();
a.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在try()内进行创建对象…
记得输出流要close() 记得输出流要close()记得输出流要close()记得输出流要close()
不然在缓冲区内出不来!!!!!!!!!!!!