码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA之IO文件读写

时间:2014-07-19 13:30:04      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   使用   

IO概述:

                                                        


IO(Input output)流

作用:IO流用来处理设备之间的数据传输

              Java对数据的操作是通过流的方式
             Java用于操作流的对象都在IO包中

流按操作数据分为两种:字节流和字符流
流按流向分为:输入流,输出流。

IO流常用基类
字节流的抽象基类:
InputStream,OutputStream.
字符流的抽象基类:
Reader,Writer
注:由这四个类派生出来的子类名称都是以其父类名作为子类的后缀。
如:InputStream的子类FileInputStream.
如:Reader的子类FileReader。


字符流和字节流:
字节流两个基类:
InputStream的子类FileInputStream.
字符流两个基类:
Reader Writer
先学习一下字符流的特点。
既然IO流式用于操作数据的,那么数据的最常见的体现形式是:文件。
那么先以操作文件为主来演示。
功能:在硬盘上创建一个文件并写入一些文字数据。
import java.io.FileWriter;
import java.io.IOException;

class Filewrite_study {
    public static void main(String[] args) throws IOException {
        /*
         * 创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。
         * 而且该文件会被创建到指定的目录下,如果该目录下已经有同名文件将被覆盖. 其实该步就是在明确数据要存放的目的地.
         */

        FileWriter fw = new FileWriter("代码建立文件.txt");

        /*调用writer方法,将字符串写入到流中。*/
        fw.write("星云学习java文件读写!");

        /* 刷新流对象中的缓冲中的数据。
         * 将数据刷到目的地中*/
        fw.flush();
        fw.write("星云加油!");

        /*
         * 关闭流资源,但是关闭前会刷新一次内部的缓冲区中的数据 将数据刷到目的地中
         * 和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭
         */
        fw.close();
    }
}

运行截图:

 


 

bubuko.com,布布扣


 

                                             

完整的IO异常 处理方式:

import java.io.*;

class Filewrite_study
{
      public static void main(String args[])
      {
             FileWriter fw=null;
             try
             {     
                fw=new FileWriter("d:\\demo.txt");
                fw.write("IO完整处理异常!");  
             } 
             //处理文件建立失败、写入文件失败异常
             catch(IOException e)
             {
                  System.out.println(e.toString());
             }
             finally
             {
                  try
                  {
                         if(fw!=null)
                         fw.close();
                  }
                  //处理文件关闭错误异常
                  catch(IOException e)
                  {
                         System.out.println(e.toString());
                 }     
             }
       }

}

                                                        

文件追加续写:

/*
演示对已有文件的数据续写。
*/
import java.io.*;

class Filewrite_study {
    public static void main(String[] args) throws IOException 
{
        /*传递一个true参数,代表不覆盖已有的文件。
         *并在已有的文件末尾处进行数据读写。
         *java文件读写在windows环境下要换行,需要"\r\n"一起用*/
        FileWriter fw = new FileWriter("代码建立文件.txt",true);
        fw.write("星云学习\r\njava文件读写!");
        fw.close();
    }
}

 

bubuko.com,布布扣

                                              

文件读取:

bubuko.com,布布扣

 


代码如下:

import java.io.FileReader;
import java.io.IOException;
class Filereader_study
{
     public static void main(String args[])throws IOException
     {
 
          //创建一个文件读取对象,和指定名称的文件相关联。
          //要保证该文件是已经存在的,如果不存在,会发生  FileNotFoundException异常。
           FileReader fr=new FileReader("代码建立文件.txt");       
       
         //调用读取流对象的Read方法.
          while(true){
            int ch=fr.read();
            if(ch==-1)
                       break;
            else
                       System.out.print((char)ch);
      }
     }
}

上面代码优化后可以这样写:

 

import java.io.FileReader;
import java.io.IOException;
class Filereader_study
{
     public static void main(String args[])throws IOException
     {
 
          //创建一个文件读取对象,和指定名称的文件相关联。
          //要保证该文件是已经存在的,如果不存在,会发生  FileNotFoundException异常。
           FileReader fr=new FileReader("代码建立文件.txt");       
       
         //调用读取流对象的Read方法.
            int ch=fr.read();
            while((ch=fr.read())!=-1){
                       System.out.print((char)ch);
      }
     }
}

 

 

 

运行截图:

bubuko.com,布布扣

 


JAVA之IO文件读写,布布扣,bubuko.com

JAVA之IO文件读写

标签:style   blog   http   java   color   使用   

原文地址:http://www.cnblogs.com/xingyunblog/p/3854726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!