Java输入输出流代码示例

来源:互联网 发布:fresh玫瑰面膜 知乎 编辑:程序博客网 时间:2024/05/22 00:18
写在前面:

  该博文是为文章http://blog.csdn.net/whardl_yu/article/details/53223807补充的代码示例。主要为输入输出流的一些基础操作。

一、

功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter;read()/writer()
说明:1、为减少代码量,我选择直接抛出异常,而不是用try-catch-finally包裹(本文代码都是这样),实际操作中建议使用try-catch-finally包裹,close方法放在finally语句中。
   2、TXT文件为纯文本文件,建议使用字符流。
代码:

public void copyTXT1() throws IOException {        FileReader reader = null;        FileWriter writer = null;        // 打开文件,创建流对象        reader = new FileReader("h://file.txt");        writer = new FileWriter("h://file2.txt");        // 处理流对象        int read;//存放read方法的返回值        while ((read = reader.read()) != -1) {// 返回值为-1, 表示到达流的末尾,读取结束。            writer.write(read);        }        // 在finally中关闭流对象,释放资源        if (reader != null) {            reader.close();        }        if (writer != null) {            writer.close();        }

二、

功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter; read(char[] c)/writer(char[] c)
说明:与一所用的方法不同。
代码:

public void copyTXT2() throws IOException {        FileReader fr = null;        FileWriter fw = null;        //打开文件,创建流对象        fr = new FileReader("h://file.txt");        fw = new FileWriter("h://file3.txt");        //处理数据        char[] cbuf = new char[1024];        while(fr.read(cbuf) != -1) {            fw.write(cbuf);        }        //关闭流,释放资源。        fr.close();        fw.close();    }

三、

功能:将指定的TXT文件复制一份。
类和方法:FileReader/FileWriter/BufferedReader/BufferedWriter ; readLine()/writer()
说明:用缓冲流包装。
代码:

public void copyTXT3() throws IOException {        FileReader fr = new FileReader("h://file2.txt");        //使用BufferedReader包装FileReader        BufferedReader br = new BufferedReader(fr);        FileWriter fw = new FileWriter("h://file4.txt");        //使用BufferedWriter包装FileReader        BufferedWriter bw = new BufferedWriter(fw);        String line;//存放readLine方法的返回值        while((line = br.readLine()) != null) {//readLine方法读到末尾的返回值为null,不是-1!            System.out.println(line);            bw.write(line);            //readLine方法的返回值不包含任何终止符,因此要写入一个行分隔符。            bw.newLine();        }        //关闭输出流前记得刷新        bw.flush();        //此时只用关闭缓冲流即可,被包装的流会自动关闭。        br.close();        bw.close();    }

四、

功能:在指定TXT文件后面追加文字。
类:FileWriter
代码:

public static void main(String[] args) throws IOException {        FileWriter f = new FileWriter("H://file.txt", true);//true表示在文本最后追加        f.write("yuyuyu");        f.close();    }

五、

功能:将指定的MP3文件复制一份。
类和方法:FileInputStream/FileOutputStream ;read(byte[] b)/writer(byte[] b)
说明:音频文件不是纯文本文件,不可以使用字符流。如果使用字符流,最后得到的文件不可用。
代码:

public void copyMp3() throws IOException{        FileInputStream fis = null;        FileOutputStream fos = null;        //打开文件,创建流对象        fis = new FileInputStream("h://欢乐颂.mp3");        fos = new FileOutputStream("h://欢乐颂2.mp3");        //处理数据        byte[] bbuf = new byte[1024];        while(fis.read(bbuf) != -1){// 返回值为-1, 表示到达流的末尾,读取结束。            fos.write(bbuf);        }        //关闭输入输出流,释放资源        fis.close();        fos.close();    }

六、

功能:将指定的MP3文件复制一份。
类和方法:FileInputStream/FileOutputStream/BufferedOutputStream/BufferedInputStream ;read(byte[] b)/writer(byte[] b)
说明:用缓冲流包装。
代码:

public void copyMP3() throws IOException {        //创建流,并进行包装        FileInputStream fis = new FileInputStream("h://欢乐颂.mp3");        BufferedInputStream bis = new BufferedInputStream(fis);        FileOutputStream fos = new FileOutputStream("h://欢乐颂3.mp3");        BufferedOutputStream bos = new BufferedOutputStream(fos);        byte[] bbuf = new byte[1024];        while(bis.read(bbuf) != -1) {            bos.write(bbuf);        }        //刷新        bos.flush();        //关闭流        bos.close();        bis.close();    }

七、

功能:创建指定编码格式的文件。
类和方法:FileOutputStream/OutputStreamWriter/BufferedWriter
代码:

public void creatFile() throws IOException {        FileOutputStream fs = new FileOutputStream("h://newFile.txt");        OutputStreamWriter osw = new OutputStreamWriter(fs, "utf-8");        BufferedWriter bw = new BufferedWriter(osw);        bw.write("大家好!");        bw.flush();        bw.close();    }

八、

功能:用指定的编码格式写入文件。
类和方法:FileInputStream/InputStreamReader/BufferedReader
代码:

public void openFile() throws IOException {        FileInputStream fis = new FileInputStream("h://newFile.txt");        InputStreamReader isr = new InputStreamReader(fis, "utf-8");        BufferedReader br = new BufferedReader(isr);        String s;        while((s = br.readLine()) != null) {            System.out.println(s);        }        br.close();    }
1 0
原创粉丝点击