您的位置:首页 > 职场人生

黑马程序员_java中的IO流1

2013-04-18 22:51 134 查看
------- android培训java培训、期待与您交流! ----------

 

一.基本概念

         IO流是指一些能够实现数据在设备上传输的类。

      1.IO流的分类

                  按数据类型分:字节流   字符流

                  按流的方向分:输入流,输出流

       2.IO流的基类

                  字节流的抽象基类

                               输入                     输出

                        InputStream        OutputStream

                  字符流的抽象基类

                        Reader                        Writer

        3.IO流常用子类

               --FileWrite文件字符输出流(数据从程序向外输出)

                   示例代码:

                                       // 调用构造函数,创建与指定文件相关联的FileWrite对象,给构造函数传递参数时,如果只传递文件路径一个参数,不管该文件存在与否,都会创建一个新的文件(新文件会覆盖旧文件)。

                                        FileWrite  fw = new FileWrite(String path);//path是生成文件的路径须包含文件名。

                                       //调用write()方法将数据写到FileWrite对象的缓冲区。

                                         fw.write("abcdefghijklmnopqrstuvwxyz");

                                      //调用flush()方法刷新缓冲区,将数据刷入FileWrite对象对应的文件。

                                      //关闭占用的系统资源,在关闭前会刷新缓冲区。

                                       fw.close()

 

                               使用FileWrite进行文件数据续写

                                    1.调用FileWrite构造函数,并传递一个true为参数,表示如果文件存在,就不创建新文件覆盖已有的文件。

                                        FileWrite  fw = new FileWrite(String path , true);

                                    2.调用write()方法将数据写到FileWrite对象的缓冲区。

                                        fw.write(data); //数据换行写,只需在数据中加入\r\n

                                  3.调用flush()方法刷新缓冲区,将数据刷入FileWrite对象对应的文件中。

                                       fw.flush();

                                  4.调用close()方法关闭占用的系统资源

                                      fw.close();

 

              --FileReader文件字符输入对象(数据从外向程序输入)

                   1.创建与指定文件相关联的字符输入对象,如果文件不存在,会发生FileNotFoundException。

                          FileReader  fr = new FileReader(String path);

                    2.调用FileReader对象的read()方法将数据读入程序。

                            fr.read()//该方法一次读取一个字符,并把读取的字符转换为int类型的值返回,读到文件末尾是返回-1。

                          read(char[] ary)一次读取多个数据(最多读取的长度为数组长度),并将读取的数据存放在char[],注:该方法返回的是,读取字符的个数。

                        使用循环语句读取数据

                               char[] buf = new char[1024]

                                int num = 0;

                                while(num!=-1){

                                 num= fr.read(buf);

   }

            System.out.println(new String(buf,0,num));                   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: