﻿<?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-山村老表-文章分类-JavaEE</title><link>http://www.blogjava.net/luo33220/category/53727.html</link><description>山村老表</description><language>zh-cn</language><lastBuildDate>Wed, 17 Jul 2013 11:11:12 GMT</lastBuildDate><pubDate>Wed, 17 Jul 2013 11:11:12 GMT</pubDate><ttl>60</ttl><item><title>JavaEE 文件复制</title><link>http://www.blogjava.net/luo33220/articles/401527.html</link><dc:creator>山村老表</dc:creator><author>山村老表</author><pubDate>Sat, 13 Jul 2013 05:22:00 GMT</pubDate><guid>http://www.blogjava.net/luo33220/articles/401527.html</guid><wfw:comment>http://www.blogjava.net/luo33220/comments/401527.html</wfw:comment><comments>http://www.blogjava.net/luo33220/articles/401527.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/luo33220/comments/commentRss/401527.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/luo33220/services/trackbacks/401527.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileNotFoundException;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileReader;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.IOException;<br /></span><span style="color: #008000; ">/**</span><span style="color: #008000; ">文件读取方式一，read();每次读取一个字符<br />&nbsp;*&nbsp;<br />&nbsp;*&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;FileReaderDemo<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileReader&nbsp;fr</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">创建一个指定目录的文件读取流对象，和指定的文件相关联<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">要保证该文件已经存在，如果不存在会发生异常FileNotFoundException</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fr</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileReader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Demo.txt</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">每次读取一个字符，而且会自动往下读<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">读到的是该字符对应的int数值，如果读到末尾返回-1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;fr.read();</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;ch</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;((ch</span><span style="color: #000000; ">=</span><span style="color: #000000; ">fr.read())</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print((</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">)ch);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(IOException&nbsp;e)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">finally</span><span style="color: #000000; ">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(fr</span><span style="color: #000000; ">!=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fr.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">&nbsp;(IOException&nbsp;e)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />&nbsp;<br />文件读取方式二<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.FileReader;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.IOException;<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;FileReaderDemo2<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileReader&nbsp;fr</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileReader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Demo.txt</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">[]buf</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">[</span><span style="color: #000000; ">1024</span><span style="color: #000000; ">];</span><span style="color: #008000; ">//</span><span style="color: #008000; ">通常定义为1024的整数倍<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">把读到的字符存到buf中，返回的是读了几次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">数组长度是多少就读几次，如果读到末位则剩余几个字符读几次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">如果没有字符则返回-1<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num1=fr.read(buf);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(num1);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("文件读取成功1："+new&nbsp;String(buf,0,num1));<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num2=fr.read(buf);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(num2);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("文件读取成功2："+new&nbsp;String(buf,0,num2));<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num3=fr.read(buf);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(num3);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("文件读取成功3："+new&nbsp;String(buf,0,num3));</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;num</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;((num</span><span style="color: #000000; ">=</span><span style="color: #000000; ">fr.read(buf))</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;String(buf,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,num));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></div><img src ="http://www.blogjava.net/luo33220/aggbug/401527.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/luo33220/" target="_blank">山村老表</a> 2013-07-13 13:22 <a href="http://www.blogjava.net/luo33220/articles/401527.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java IO流学习-----字节流</title><link>http://www.blogjava.net/luo33220/articles/401296.html</link><dc:creator>山村老表</dc:creator><author>山村老表</author><pubDate>Sun, 07 Jul 2013 15:26:00 GMT</pubDate><guid>http://www.blogjava.net/luo33220/articles/401296.html</guid><wfw:comment>http://www.blogjava.net/luo33220/comments/401296.html</wfw:comment><comments>http://www.blogjava.net/luo33220/articles/401296.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/luo33220/comments/commentRss/401296.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/luo33220/services/trackbacks/401296.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; "><br />1,<br />源：键盘录入。<br />目的：控制台。<br /><br />2，需求：想把键盘录入的数据存储到一个文件中。<br />源：键盘。<br />目的：文件。<br /><br />3，需求：想要将一个文件的数据打印在控制台上。<br />源：文件。<br />目的：控制台。<br /><br />流操作的基本规律：<br />最痛苦的就是流对象有很多，不知道该用哪一个。<br /><br />通过三个明确来完成。<br /><br />1，明确源和目的。<br />&nbsp;&nbsp;&nbsp;&nbsp;源：输入流。InputStream&nbsp;&nbsp;Reader<br />&nbsp;&nbsp;&nbsp;&nbsp;目的：输出流。OutputStream&nbsp;&nbsp;Writer。<br />2，操作的数据是否是纯文本。<br />&nbsp;&nbsp;&nbsp;&nbsp;是：字符流。<br />&nbsp;&nbsp;&nbsp;&nbsp;不是：字节流。<br /><br />3，当体系明确后，在明确要使用哪个具体的对象。<br />&nbsp;&nbsp;&nbsp;&nbsp;通过设备来进行区分：<br />&nbsp;&nbsp;&nbsp;&nbsp;源设备：内存，硬盘。键盘<br />&nbsp;&nbsp;&nbsp;&nbsp;目的设备：内存，硬盘，控制台。<br /><br /><br />1，将一个文本文件中数据存储到另一个文件中。复制文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;源：因为是源，所以使用读取流。InputStream&nbsp;Reader&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;是不是操作文本文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;是！这时就可以选择Reader<br />&nbsp;&nbsp;&nbsp;&nbsp;这样体系就明确了。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;接下来明确要使用该体系中的哪个对象。<br />&nbsp;&nbsp;&nbsp;&nbsp;明确设备：硬盘。上一个文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;Reader体系中可以操作文件的对象是&nbsp;FileReader<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;是否需要提高效率：是！。加入Reader体系中缓冲区&nbsp;BufferedReader.<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;FileReader&nbsp;fr&nbsp;=&nbsp;new&nbsp;FileReader("a.txt");<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;bufr&nbsp;=&nbsp;new&nbsp;BufferedReader(fr);<br /><br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;目的：OutputStream&nbsp;Writer<br />&nbsp;&nbsp;&nbsp;&nbsp;是否是纯文本。<br />&nbsp;&nbsp;&nbsp;&nbsp;是！Writer。<br />&nbsp;&nbsp;&nbsp;&nbsp;设备：硬盘，一个文件。<br />&nbsp;&nbsp;&nbsp;&nbsp;Writer体系中可以操作文件的对象FileWriter。<br />&nbsp;&nbsp;&nbsp;&nbsp;是否需要提高效率：是！。加入Writer体系中缓冲区&nbsp;BufferedWriter<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;FileWriter&nbsp;fw&nbsp;=&nbsp;new&nbsp;FileWriter("b.txt");<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter&nbsp;bufw&nbsp;=&nbsp;new&nbsp;BufferedWriter(fw);<br /><br /><br />练习：将一个图片文件中数据存储到另一个文件中。复制文件。要按照以上格式自己完成三个明确。<br /><br /><br />---------------------------------------<br /><br />2，需求：将键盘录入的数据保存到一个文件中。<br />&nbsp;&nbsp;&nbsp;&nbsp;这个需求中有源和目的都存在。<br />&nbsp;&nbsp;&nbsp;&nbsp;那么分别分析<br />&nbsp;&nbsp;&nbsp;&nbsp;源：InputStream&nbsp;Reader<br />&nbsp;&nbsp;&nbsp;&nbsp;是不是纯文本？是！Reader<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;设备：键盘。对应的对象是System.in.<br />&nbsp;&nbsp;&nbsp;&nbsp;不是选择Reader吗？System.in对应的不是字节流吗？<br />&nbsp;&nbsp;&nbsp;&nbsp;为了操作键盘的文本数据方便。转成字符流按照字符串操作是最方便的。<br />&nbsp;&nbsp;&nbsp;&nbsp;所以既然明确了Reader，那么就将System.in转换成Reader。<br />&nbsp;&nbsp;&nbsp;&nbsp;用了Reader体系中转换流,InputStreamReader<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;InputStreamReader&nbsp;isr&nbsp;=&nbsp;new&nbsp;InputStreamReader(System.in);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;需要提高效率吗？需要！BufferedReader<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;bufr&nbsp;=&nbsp;new&nbsp;BufferedReader(isr);<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;目的：OutputStream&nbsp;&nbsp;Writer<br />&nbsp;&nbsp;&nbsp;&nbsp;是否是存文本？是！Writer。<br />&nbsp;&nbsp;&nbsp;&nbsp;设备：硬盘。一个文件。使用&nbsp;FileWriter。<br />&nbsp;&nbsp;&nbsp;&nbsp;FileWriter&nbsp;fw&nbsp;=&nbsp;new&nbsp;FileWriter("c.txt");<br />&nbsp;&nbsp;&nbsp;&nbsp;需要提高效率吗？需要。<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter&nbsp;bufw&nbsp;=&nbsp;new&nbsp;BufferedWriter(fw);<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;**************<br />&nbsp;&nbsp;&nbsp;&nbsp;扩展一下，想要把录入的数据按照指定的编码表（utf-8），将数据存到文件中。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;目的：OutputStream&nbsp;&nbsp;Writer<br />&nbsp;&nbsp;&nbsp;&nbsp;是否是存文本？是！Writer。<br />&nbsp;&nbsp;&nbsp;&nbsp;设备：硬盘。一个文件。使用&nbsp;FileWriter。<br />&nbsp;&nbsp;&nbsp;&nbsp;但是FileWriter是使用的默认编码表。GBK.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;但是存储时，需要加入指定编码表utf-8。而指定的编码表只有转换流可以指定。<br />&nbsp;&nbsp;&nbsp;&nbsp;所以要使用的对象是OutputStreamWriter。<br />&nbsp;&nbsp;&nbsp;&nbsp;而该转换流对象要接收一个字节输出流。而且还可以操作的文件的字节输出流。FileOutputStream<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;OutputStreamWriter&nbsp;osw&nbsp;=&nbsp;new&nbsp;OutputStreamWriter(new&nbsp;FileOutputStream("d.txt"),"UTF-8");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;需要高效吗？需要。<br />&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter&nbsp;bufw&nbsp;=&nbsp;new&nbsp;BufferedWriter(osw);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;所以，记住。转换流什么使用。字符和字节之间的桥梁，通常，涉及到字符编码转换时，<br />&nbsp;&nbsp;&nbsp;&nbsp;需要用到转换流。<br /><br /><br />练习：将一个文本数据打印在控制台上。要按照以上格式自己完成三个明确。<br /><br /><br /><br /></span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;&nbsp;TransStreamDemo2<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.setIn(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;FileInputStream(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">PersonDemo.java</span><span style="color: #000000; ">"</span><span style="color: #000000; ">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.setOut(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;PrintStream(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">zzz.txt</span><span style="color: #000000; ">"</span><span style="color: #000000; ">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">键盘的最常见写法。</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;bufr&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BufferedReader(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;InputStreamReader(System.in));<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter&nbsp;bufw&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BufferedWriter(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;OutputStreamWriter(System.out));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;line&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">((line</span><span style="color: #000000; ">=</span><span style="color: #000000; ">bufr.readLine())</span><span style="color: #000000; ">!=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">over</span><span style="color: #000000; ">"</span><span style="color: #000000; ">.equals(line))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bufw.write(line.toUpperCase());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bufw.newLine();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bufw.flush();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bufr.close();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><img src ="http://www.blogjava.net/luo33220/aggbug/401296.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/luo33220/" target="_blank">山村老表</a> 2013-07-07 23:26 <a href="http://www.blogjava.net/luo33220/articles/401296.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>