码迷,mamicode.com
首页 > 其他好文 > 详细

IO-概述-输入和输出

时间:2016-06-17 01:01:14      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:io

IO(Input  Output)流

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

Java对数据的操作是通过的方式,流是一种操作数据的手段,技术

技术分享


按操作数据分为两种:字节流与字符流。

按流向分为:输入流,输出流。

 

    字符流由来就是:早期的字节流+编码表,为了更便于操作文字数据。

     

    记住:只要是操作字符数据,应该优先使用字符流。

        操作其他数据,只能使用字节流

 

 


IO流常用基类

字节流的抽象基类:

InputStream OutputStream

 

字符流的抽象基类:

Reader Writer

 

注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。前缀名都是这个子类的功能。

如:InputStream的子类FileInputStream

如:Reader的子类FileReader

 

 

 
package cn.itcast.p4.io.file;
 
import java.io.FileWriter;
import java.io.IOException;
 
public class FileWriterDemo {
 
/**
 * @param args
 * @throws Exception 
 */
    public static void main(String[] args) throws Exception {
     
    
        /*
         * 需求:将内存中的字符串数据写入到硬盘上。
         * 1,内存数据到硬盘,应该是输出,也就是写。需要使用输出流。
         * 2,要操作的是文本数据。应该字符流。
         * 3,综上所述,应该使用字符输出流。Writer。
         * 4,因为是将数据写到硬盘上,而硬盘存储数据的方式就是文件。
         * 5,应该找一个可以操作文件的字符输出流对象。找到了FileWriter。
         */
        
        //1,创建FileWriter对象。
        /*
         * 创建对象,运行时就会创建指定的文件,因为写入数据必须先有数据存储的目的地。
         * 如果要创建的文件已经存在,则会覆盖。
         */
        FileWriter fw = new FileWriter("demo.txt");
        
        //2,写入一个字符串。写入到了缓冲区中。
        fw.write("hehe");
        
        //3,使用flush方法。将缓冲中的数据写入到目的地中。
        fw.flush();
        
        
        //4,关闭 close
        fw.close();
    
    }
     
}

IO-字符输出流_flush&close

 * close()flush()的区别?

 * 1,调用flush,可以将数据刷到目的地中,流依然存在,可以继续使用。

 *    调用close,可以将数据刷到目的地中,流已被关闭。不能继续使用。最后使用。

 * 2close不仅刷新缓冲区,还关闭底层资源

IO-字符输出流_IO异常的处理

 

package cn.itcast.p5.ioexception;
 
import java.io.FileWriter;
import java.io.IOException;
 
public class IOExceptionDemo {
    public static void main(String[] args) {
     
        FileWriter fw = null;
        try {
            fw = new FileWriter("demo1.txt");
             
            fw.write("abcde");
            fw.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
             
            if (fw != null)
                try {
                    fw.close();
                } catch (IOException e) {
                    throw new RuntimeException("关闭失败");
            }
        }
     
    }
     
}


 

IO-字符输出流_续写&换行

package cn.itcast.p4.io.file;
 
import java.io.FileWriter;
import java.io.IOException;
 
public class FileWriterDemo2 {
     
    private static final String LINE_SEPARATOR = 
        System.getProperty("line.separator");
         
        /**
         * @param args
         * @throws IOException 
         */
        public static void main(String[] args) throws IOException {
         
        /*
         * 如果在构造时,传入第二个参数为true,将在原有文件末尾处进行续写。
         */
        FileWriter fw = new FileWriter("demo.txt",true);
         
        fw.write(LINE_SEPARATOR+"hiahia");
         
        fw.close();
    }
 
}


 




















 

 


IO-概述-输入和输出

标签:io

原文地址:http://pengya123.blog.51cto.com/8467424/1790039

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