您的位置:首页 > 编程语言 > Java开发

java学习之路---IO----字符流

2013-11-24 21:28 465 查看
 在java中一个字符等于两个字节,操作字符有Reader和Writer

1.字符输出流

看源码:
          public abstract class Writer implements Appendable,
Closeable, Flushable {

这里实现了Appendable(这个表示类容可以被追加,String 类也实现了这个)



1.向文件中写入数据

[align=left]public class WriterDemo {[/align]
           public static void main(String[]
args) throws Exception{
[align=left]              File f= new File("f:"+File.separator +"a.txt" );[/align]
[align=left]              [/align]
[align=left]              Writer w= null;[/align]
[align=left]              [/align]
[align=left]              w= new FileWriter(f);[/align]
[align=left]              [/align]
[align=left]              String str= "hello like";[/align]
[align=left]              [/align]
[align=left]              w.write(str);[/align]
[align=left]              [/align]
[align=left]              w.close();[/align]
[align=left]          }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]这个和OutputStream 没有什么不同,唯一的好处就是可以直接接收字符串了,不用转byte数组了[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]2.使用FileWriter追加内容[/align]
[align=left]
[/align]

public class WriterDemo1
{
     public static void main(String[]
args) throws Exception{
[align=left]          File f= new File("f:" +File.separator+"a.txt");[/align]
[align=left]          [/align]
[align=left]          Writer w= new FileWriter(f,true);[/align]
[align=left]          [/align]
[align=left]          String str= "\r\n----Hello world";[/align]
[align=left]          [/align]
[align=left]     [/align]
[align=left]          w.write(str);[/align]
[align=left]          [/align]
[align=left]          w.close();[/align]
[align=left]          [/align]
[align=left]     }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]3.字符输入流  Reader[/align]
[align=left]
[/align]
     看源码:public abstract class Reader implements Readable,
Closeable {
[align=left]
[/align]
[align=left]
[/align]
[align=left][/align]



[align=left]
[/align]

public class ReaderDemo
{
           public static void main(String[]
args) throws Exception{
[align=left]              File f= new File("f:"+File.separator +"a.txt" );[/align]
[align=left]              [/align]
[align=left]              Reader r= null;[/align]
[align=left]              [/align]
[align=left]              r= new FileReader(f);[/align]
[align=left]              [/align]
[align=left]              [/align]
[align=left]               char c[]=new char[1024];[/align]
[align=left]              [/align]
[align=left]           int len=r.read(c);[/align]
[align=left]              [/align]
[align=left]              r.close();[/align]
[align=left]              [/align]
[align=left]              System. out.println(new String(c,0,len));[/align]
[align=left]          }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]
[/align]

[align=left]hello like[/align]
[align=left]----Hello world[/align]
[align=left]
[/align]
[align=left]如果不知道文件的长度,也可以像字节流那样做[/align]
[align=left]
[/align]

public class ReadDemo1
{
     public static void main(String[]
args) throws Exception{
[align=left]          File f= new File("f:" +File.separator+"a.txt");[/align]
[align=left]          [/align]
[align=left]          Reader r= new FileReader(f);[/align]
[align=left]          [/align]
[align=left]           int len=0;[/align]
[align=left]          [/align]
[align=left]           int temp=0;[/align]
[align=left]           char c[]=new char[1024];[/align]
[align=left]          [/align]
[align=left]           while((temp=r.read())!=-1){[/align]
[align=left]              c[ len]=(char)temp;[/align]
[align=left]               len++;[/align]
[align=left]          }[/align]
[align=left]          r.close();[/align]
[align=left]          System. out.println( new String(c,0,len ));[/align]
[align=left]     }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]

hello like

----Hello world
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: