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
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
相关文章推荐
- java学习之路----IO-------字节流和字符流的区别,文件的复制
- 12. JAVA IO Party 1 (目标、File类、RandomAccessFile类、字节流和字符流、转换流) ----- 学习笔记
- 黑马程序员---java IO-字符流 学习笔记
- java学习之路---IO-----File类
- javaio学习笔记-字符流类(2)
- Java IO学习3:字节-字符转换流
- Java IO学习札记(字符/节流)
- Java IO学习笔记:字符流
- Java学习笔记之IO(九):BufferedReader缓冲输入字符流
- Java IO学习--(五)字节和字符数组
- Java IO学习笔记:字符流
- Java IO学习【6】字符缓冲区BufferWriter小例子
- java学习之路----IO----合并流和文件操纵流
- Java学习笔记之IO(十):BufferedWriter缓冲输出字符流
- java io 学习之三 字符流的缓冲区
- Java IO学习笔记:字符流
- java学习之IO字符流
- javaio学习笔记-字符流类(1)
- Java基础-IO学习之字符流