黑马程序员_FileRead和FileWriter

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

/*

字符流和字节流:

字节流两个基类:

InputStream OutputStream

 

字符流两个基类:

Reader Writer. 

既然IO流是用于操作数据的。

那么数据的最常见体现形式:文件。

 

那么先以操作文件为主来演示。

 

需求:在硬盘上创建一个文件并写入一些文字数据。

 

找到一个专门用于操作文件的Writer子类对象:FileWirter。后缀名是父类名。前缀名是该流对象的功能。

*/

 

import java.io.*;

class FileWriterDemo

{

       public static void main(String[] args) throws IOException

       {

              //创建一个FileWriter对象。该对象一被初始化就必须要明确要操作的文件。

              //而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。

              //其实该步就是明确数据要存放的目的地。

 

              FileWriter fw = new FileWriter("demo.txt");

              //调用write方法,将字符串写入到流中。

              fw.write("abcde");

              //刷新流对象中的缓冲数据。将数据刷到目的地中。

              //fw.flush();

              //fw.write("haha");

              //fw.flush();

 

             

              //关闭流资环,但是关闭之前会刷新一次内部的缓冲中的数据。

              //将数据刷到目的地中。

              //flush的区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。

              fw.close();

       }

}

import java.io.*;

class FileReaderDemo

{

       public static void main(String[] args)

       {

              FileReader fr = null;

              try

              {

                     //创建一个文件读取流对象,和指定名称的文件相关联。

                     //要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException.

                     fr = new FileReader("demo.txt");

 

                     //调用读取流对象的read方法.

                     //read():一次读一个字符。而且会自动向下都

                     int ch = 0;

                     while((ch=fr.read())!=-1)

                     {

                            System.out.println("ch="+(char)ch);

                     }

 

                     /*

                     while(true)

                     {

                            int ch = fr.read();

                            if(ch==-1)

                                   break;

                            System.out.println("ch="+(char)ch);

                     }    

                     */

              }

              catch (IOException e)

              {

                     System.out.println(e.toString());

              }

              finally

              {

                     try

                     {

                            if(fr!=null)

                                   fr.close();

                     }

                     catch (IOException e)

                     {

                            System.out.println(e.toString());

                     }                  

              }           

       }

}

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值