﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-KevinGong-随笔分类-J2SE</title><link>http://www.blogjava.net/coffeecat/category/11288.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 02:37:23 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 02:37:23 GMT</pubDate><ttl>60</ttl><item><title> Java 读/写文件文本文件的示例 </title><link>http://www.blogjava.net/coffeecat/archive/2007/02/03/97801.html</link><dc:creator>KevinGong</dc:creator><author>KevinGong</author><pubDate>Sat, 03 Feb 2007 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/coffeecat/archive/2007/02/03/97801.html</guid><wfw:comment>http://www.blogjava.net/coffeecat/comments/97801.html</wfw:comment><comments>http://www.blogjava.net/coffeecat/archive/2007/02/03/97801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/coffeecat/comments/commentRss/97801.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/coffeecat/services/trackbacks/97801.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<a href="http://blog.csdn.net/wangghost/articles/607377.aspx">
						<img height="13" src="http://blog.csdn.net/images/zhuan.gif" width="15" border="0" /> Java 读/写文件文本文件的示例</a>
		</div>
		<div class="postText">
				<p>/*<br /> * 简单的读/写文本文件的示例<br /> * 这里包含了三个例子，即<br /> * 1. 将文件读入到内存（这里是StringBuffer）的例子<br /> * 2. 将内容中的文本写到文件<br /> * 3. 将一个文件的内容读出来写入另一个文件中<br /> *    同时也展示了如果从输入流中读出来内容写入输出流中（仅限文本流）<br /> * 三个例子可以独立存在，所以根据需要只看其中一个就行了。<br /> */</p>
				<p>import java.io.BufferedReader;<br />import java.io.FileInputStream;<br />import java.io.FileOutputStream;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.io.InputStreamReader;<br />import java.io.OutputStream;<br />import java.io.OutputStreamWriter;<br />import java.io.PrintStream;<br />import java.io.PrintWriter;</p>
				<p>public final class AccessTextFile {</p>
				<p>    /**<br />     * 1. 演示将流中的文本读入一个 StringBuffer 中<br />     * @throws IOException<br />     */<br />    public void readToBuffer(StringBuffer buffer, InputStream is)<br />        throws IOException {<br />        String line;        // 用来保存每行读取的内容<br />        BufferedReader reader = new BufferedReader(new InputStreamReader(is));<br />        line = reader.readLine();       // 读取第一行<br />        while (line != null) {          // 如果 line 为空说明读完了<br />            buffer.append(line);        // 将读到的内容添加到 buffer 中<br />            buffer.append("\n");        // 添加换行符<br />            line = reader.readLine();   // 读取下一行<br />        }<br />    }</p>
				<p>    /**<br />     * 2. 演示将 StringBuffer 中的内容读出到流中<br />     */<br />    public void writeFromBuffer(StringBuffer buffer, OutputStream os) {<br />        // 用 PrintStream 可以方便的把内容输出到输出流中<br />        // 其对象的用法和 System.out 一样<br />        // （System.out 本身就是 PrintStream 对象）<br />        PrintStream ps = new PrintStream(os);   <br />        ps.print(buffer.toString());<br />    }</p>
				<p>    /**<br />     * 3*. 从输入流中拷贝内容到输入流中<br />     * @throws IOException<br />     */<br />    public void copyStream(InputStream is, OutputStream os) throws IOException {<br />        // 这个读过过程可以参阅 readToBuffer 中的注释<br />        String line;<br />        BufferedReader reader = new BufferedReader(new InputStreamReader(is));<br />        PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));<br />        line = reader.readLine();<br />        while (line != null) {<br />            writer.println(line);<br />            line = reader.readLine();<br />        }<br />        writer.flush();     // 最后确定要把输出流中的东西都写出去了<br />                            // 这里不关闭 writer 是因为 os 是从外面传进来的<br />                            // 既然不是从这里打开的，也就不从这里关闭<br />                            // 如果关闭的 writer，封装在里面的 os 也就被关了<br />    }</p>
				<p>    /**<br />     * 3. 调用 copyStream(InputStream, OutputStream) 方法拷贝文本文件<br />     */<br />    public void copyTextFile(String inFilename, String outFilename)<br />        throws IOException {<br />        // 先根据输入/输出文件生成相应的输入/输出流<br />        InputStream is = new FileInputStream(inFilename);<br />        OutputStream os = new FileOutputStream(outFilename);<br />        copyStream(is, os);     // 用 copyStream 拷贝内容<br />        is.close(); // is 是在这里打开的，所以需要关闭<br />        os.close(); // os 是在这里打开的，所以需要关闭<br />    }</p>
				<p>    public static void main(String[] args) throws IOException {<br />        int sw = 1;     // 三种测试的选择开关<br />        AccessTextFile test = new AccessTextFile();<br />        <br />        switch (sw) {<br />        case 1: // 测试读<br />        {<br />            InputStream is = new FileInputStream("E:\\test.txt");<br />            StringBuffer buffer = new StringBuffer();<br />            test.readToBuffer(buffer, is);<br />            System.out.println(buffer);     // 将读到 buffer 中的内容写出来<br />            is.close();<br />            break;<br />        }<br />        case 2: // 测试写<br />        {<br />            StringBuffer buffer = new StringBuffer("Only a test\n");<br />            test.writeFromBuffer(buffer, System.out);<br />            break;<br />        }<br />        case 3: // 测试拷贝<br />        {<br />            test.copyTextFile("E:\\test.txt", "E:\\r.txt");<br />        }<br />            break;<br />        }<br />    }</p>
				<p>}</p>
		</div>
<img src ="http://www.blogjava.net/coffeecat/aggbug/97801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/coffeecat/" target="_blank">KevinGong</a> 2007-02-03 21:58 <a href="http://www.blogjava.net/coffeecat/archive/2007/02/03/97801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>