-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
IO 流常用的基类。
字节流的抽象基类;
inputStream outputStream。
字节流的抽象基类。
Reader Writer
在它们前面加上 File 就是他么这四个 抽象基类的子类
注意;这四个类派的子类的子类的名称都是以其父类名作为子类名的后缀。
如;inputStream 的子类 FileInputStream
Reader 的子类 FileReader
它们使用来对文件进行读取和 写入的.
这四者当中先从字节流说起
1,FileWriter 写入流,把想写的东西写到文件中,个人理解好记忆
FileWriter 这是一个用来写入的流,就是说我想在,电脑的任意盘中
新建一个文件夹,平时我们都是鼠标右键,然后新建,当我们学习到FileWriter
的时候,不用那样就可以来完成;例如
FileWriter fr = new FileWriter("c:\\Demo.java");
这句话的意思就是说,在 c:\下新建一个叫Demo.java的文件,
现在我们文件创建好了,我们要往这个文件中写点东西啊;
那就要用到里面的方法 write(); 此方法再用的时候,就要刷新用到的方法是flush();
如果是不刷的话那么,写的东西是不会到指定的文件中去的,只是在流中,close();这个方法也是
有刷新作用的,就是说到最后,在关闭流的时候,就可以一次性把流中的东西刷到要指定目录中.
还有就是用FileWriter 在写文件的时候,只要是这个文件时存在的话,那么它就会覆盖前面
文件里面的内容,那我们怎么能在后面在写点东西呢.那就是在创建 Writer 对象的时候这样创建new FileWriter("c:\\Demo.java",true);
我们可以直接,把想写的东西写到里面,也可以把字节变成字符数组,先写到
数组中,再通过write();把内容写到指定目录中.
2,FileReader 写出流,就是把文件里面的东西写出来,个人理解好记忆
上面我们写过了那么现在就是读了,试想一下在我们平时读书的时候肯定是
要先有书我们才能读,我们就现在自己的硬盘中找一份文件来读 那么用到的
对象就是 ; FileReader fr = new FileReader("c:\\Demo.java");这是关联一份文件.
现在文件有了 那么就要开始读了.用到的方法就是 read();我们在读到最后都没有内容
了那这个时候,怎么还能继续往下读呢.所以这里面 要有判断的标记 -1,只要是读到-1说明就结束了;
main(String[] args){
FileReader fw= new FileReader("c:\\Demo.java");
int len =-1;
while((len = fw.read())!=-1){
System.out.print((char)len);
}
}
还有另外一种向外写的方式,就是先写到char[] 数组中.再将char数组转换成
字符 写出去,判断的方式还是不变的
main(String[] args){
FileReader fw= new FileReader("c:\\Demo.java");
char[] arr= new char[1024];
int len =-1;
while((len = fw.read(arr))!=-1){
System.out.print(new String(arr,0,len));
}
}
读和写 说完了 就要说一下 对异常的处理了
在处理的时候要注意 ,关闭流的动作是一定要执行的,所以要放在finally中来完成
有多少流 就要对应的有多少 finally;因为close();方法在关闭流的时候会有异常
所以还要在,finally中做 try {} catch(){}处理.
main(String[] args){
FileWriter fw= null;
try{
fw= new FileWriter("c:\\Demo.java");
fw.write("你好,我是程序员");
}catch(Exception e){
System.out.println(e.toString());
}
finally{
try{
if(fw !=null )
fw.close();
}catch(Exception e1){
System.out.println(e1.toString());
}
}
}
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
本文介绍了Java中的字符流FileWriter和FileReader的使用,包括如何创建文件、写入和读取文件内容。FileWriter用于写入文件,使用write()方法和flush()方法确保数据写入,如果文件已存在,会覆盖原有内容。FileReader用于读取文件,通过read()方法读取字符,当读取到文件末尾时返回-1。同时文章强调了异常处理和流关闭的重要性。
1303

被折叠的 条评论
为什么被折叠?



