java-流转换

流操作:
1、明确数据源和数据目的(到底是输入还是输出流)
2、明确操作的是否是纯文本数据(用字符流还是字节流)
字节流:
FileInputStream、BufferInputStream
FileOutputStream、BufferOutPutStream
字符流:
FileReader、BufferedReader
FileWriter、BufferedWriter
转换流:
InputStreamReader:字节通向字符的桥梁
OutputStreamWriter:字符通向字节的桥梁

import java.io.*;
class StreamDemo
{
<wbr>public static void main(String[] args) throws IOException<br><wbr>{<br><wbr><wbr>//copyJPG();<wbr> //复制图片<br><wbr><wbr>//systemInGen();<wbr><br><wbr><wbr>//systemInStream();<br><wbr><wbr>systemOutStream();<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>public static void copyJPG()<br><wbr>{<br><wbr><wbr>FileInputStream fis =<wbr> null;<br><wbr><wbr>FileOutputStream fos = null;<br><wbr><wbr>try<br><wbr><wbr>{<br><wbr><wbr><wbr>fis = new FileInputStream("Desert.jpg");<br><wbr><wbr><wbr>fos = new FileOutputStream("Desert复件.jpg");<br><wbr><wbr><wbr>byte [] ch = new byte[1024];<wbr> //<br><wbr><wbr><wbr>int num = 0;<wbr> //读取一段数据,定义数组长度为1k.<br><wbr><wbr><wbr>while ((num = fis.read(ch)) != -1)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>fos.write(ch,0,num);<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr>catch (IOException e)<br><wbr><wbr>{<br><wbr><wbr><wbr>e.printStackTrace();<br><wbr><wbr>}<br><wbr><wbr>finally<br><wbr><wbr>{<br><wbr><wbr><wbr>if (fis != null)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>try<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>fis.close();<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>catch (Exception e)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>e.printStackTrace();<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>if (fos != null)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>try<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>fos.close();<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>catch (Exception e)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>e.printStackTrace();<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>//键盘录入,用SringBuilder缓存.<br><wbr>public static void systemInGen() throws IOException<br><wbr>{<br><wbr><wbr>System.out.println('a'==97);<br><wbr><wbr>StringBuilder sb = new StringBuilder();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr>int ch = 0;<br><wbr><wbr>while (true)<br><wbr><wbr>{<br><wbr><wbr><wbr>InputStream in = System.in;<br><wbr><wbr><wbr>ch = in.read();<br><wbr><wbr><wbr>if (ch == '\r')<br><wbr><wbr><wbr><wbr>continue;<br><wbr><wbr><wbr>if (ch == '\n')<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>String s = sb.toString();<br><wbr><wbr><wbr><wbr>if ("over".equals(s))<br><wbr><wbr><wbr><wbr><wbr>return;<br><wbr><wbr><wbr><wbr>System.out.println(s.toUpperCase());<br><wbr><wbr><wbr><wbr>sb.delete(0, sb.length());<wbr><wbr> //清空缓存<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>sb.append((char)ch);<br><wbr><wbr>}<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>//键盘录入,用BufferedReader缓存<br><wbr>public static void systemInStream()<br><wbr>{<br><wbr><wbr>//可以利用System.setIn和setOut方法,重新分配输入输出流.<br><wbr><wbr>//InputStream in = System.in;<br><wbr><wbr>//InputStreamReader isr = new InputStreamReader(in);<wbr> //转换流,将字节流转换为字符流<br><wbr><wbr>//BufferedReader bufr = new BufferedReader(isr);<br><wbr><wbr>BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr>try<br><wbr><wbr>{<br><wbr><wbr><wbr>String line = null;<wbr> //读到的一行的数据<br><wbr><wbr><wbr>while ((line = bufr.readLine()) != null)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if ("over".equals(line))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>return;<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>System.out.println(line.toUpperCase());<br><wbr><wbr><wbr>}<wbr><wbr><wbr><br><wbr><wbr>}<br><wbr><wbr>catch (IOException e)<br><wbr><wbr>{<br><wbr><wbr><wbr>System.out.println(e.toString());<br><wbr><wbr>}<br><wbr><wbr>finally<br><wbr><wbr>{<br><wbr><wbr><wbr>try<br><wbr><wbr><wbr>{<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>bufr.close();<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>catch (Exception e)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>System.out.println(e.toString());<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr><br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>//1、通过键盘录入数据将数据打印到控制台<wbr> 将PrintStrream(System.out)转换为BufferedWriter<br><wbr>//2、复制一个文本文件<br><wbr>//3、将键盘录入的数据存储到一个文件中.<br><wbr>//————三个操作,方法不变,变化的是原始文件和目标文件(输入流、输出流).<br><wbr>public static void systemOutStream()<br><wbr>{<br><wbr><wbr>BufferedWriter bufw = null;<br><wbr><wbr>BufferedReader bufr = null;<br><wbr><wbr>try<br><wbr><wbr>{<br><wbr><wbr><wbr>//将文件输出到控制台打印出来<br><wbr><wbr><wbr>//bufw = new BufferedWriter(new OutputStreamWriter(System.out));<br><wbr><wbr><wbr>//bufr = new BufferedReader(new InputStreamReader(new FileInputStream("StreamDemo.java")));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr>//复制文件<br><wbr><wbr><wbr>bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("a.txt")));<br><wbr><wbr><wbr>bufr = new BufferedReader(new InputStreamReader(new FileInputStream("StreamDemo.java")));</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr>//将输入的文本存储到文本文件中.<br><wbr><wbr><wbr>//bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("test.txt")));<br><wbr><wbr><wbr>//bufr = new BufferedReader(new InputStreamReader(System.in));<wbr><wbr><br><wbr><wbr><wbr><br><wbr><wbr><wbr>String line = null;<wbr> //读到的一行的数据<br><wbr><wbr><wbr>while ((line = bufr.readLine()) != null)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if ("over".equals(line))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>return;<br><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>//三个操作,方法不变.<br><wbr><wbr><wbr><wbr>bufw.write(line);<br><wbr><wbr><wbr><wbr>bufw.newLine();<br><wbr><wbr><wbr><wbr>bufw.flush();<br><wbr><wbr><wbr>}<wbr><wbr><wbr><br><wbr><wbr>}<br><wbr><wbr>catch (IOException e)<br><wbr><wbr>{<br><wbr><wbr><wbr>System.out.println(e.toString());<br><wbr><wbr>}<br><wbr><wbr>finally<br><wbr><wbr>{<br><wbr><wbr><wbr>try<br><wbr><wbr><wbr>{<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>bufr.close();<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>catch (Exception e)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>System.out.println(e.toString());<br><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr>try<br><wbr><wbr><wbr>{<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>bufw.close();<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>catch (Exception e)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>System.out.println(e.toString());<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr><br><wbr>}<br> }<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

你可能感兴趣的:(java)