Java-IO流总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-IO流总结相关的知识,希望对你有一定的参考价值。

1.字符流总结---通过缓冲区复制一个.java文件。

2.字节流总结---演示mp3的复制。通过缓冲区。

3.读取转换流

4.写入转换流

5.File类总结---递归列出目录中的内容,并且有层级


字符流总结---通过缓冲区复制一个.java文件。

importjava.io.*;

class  CopyTextByBuf

{

         public static void main(String[] args) 

         {

                   BufferedReader bufr = null;

                   BufferedWriter bufw = null;

                   try

                   {

                            bufr = newBufferedReader(new FileReader("BufferedWriterDemo.java"));

                            bufw = newBufferedWriter(new FileWriter("bufWriter_Copy.txt"));

                            String line = null;

                            while((line=bufr.readLine())!=null)

                            {

                                     bufw.write(line);/*也可以bufw.write(line+”\r\n”);进行换行*/

                                     bufw.newLine();//因为readline不读取回车符,所以要使得读取的数据好看一点,应该加一个回车符;

                                     bufw.flush();

                            }

                   }

                   catch (IOException e)

                   {

                            throw newRuntimeException("读写失败");

                   }

                   finally

                   {

                            try

                            {

                                     if(bufr!=null)

                                               bufr.close();

                            }

                            catch (IOExceptione)

                            {

                                     throw newRuntimeException("读取关闭失败");

                            }

                            try

                            {

                                     if(bufw!=null)

                                               bufw.close();

                            }

                            catch (IOExceptione)

                            {

                                     throw newRuntimeException("写入关闭失败");

                            }

                   }

         }

}


字节流总结---演示mp3的复制。通过缓冲区。


importjava.io.*;

class  CopyMp3

{

         public static void main(String[] args)throws IOException

         {

                   long start =System.currentTimeMillis();

                   copy_1();

                   long end =System.currentTimeMillis();

                   System.out.println((end-start)+"毫秒");

         }

        

         //通过字节流的缓冲区完成复制。

         public static void copy_1()throwsIOException

         {

                   BufferedInputStream bufis =new BufferedInputStream(new FileInputStream("c:\\0.mp3"));

                   BufferedOutputStream bufos =new BufferedOutputStream(new FileOutputStream("c:\\1.mp3"));

                   int by = 0;

                   while((by=bufis.read())!=-1)

                   {

                            bufos.write(by);

                   }

                   bufos.close();

                   bufis.close();

         }

}



读取转换流

importjava.io.*;

class  TransStreamDemo

{

         public static void main(String[] args)throws IOException

         {

                   //获取键盘录入对象。

                   InputStream in = System.in;

                   //将字节流对象转成字符流对象,使用转换流。InputStreamReader

                   InputStreamReader isr = newInputStreamReader(in);

                   //为了提高效率,将字符串进行缓冲区技术高效操作。使用BufferedReader

                   BufferedReader bufr = newBufferedReader(isr);

                   String line = null;

                   while((line=bufr.readLine())!=null)

                   {

                            if("over".equals(line))

                                     break;

                            system.out.println(line.toUperCase());

                   }

                   bufr.close();

         }

}---------------------------------------------------读取转换流



写入转换流


importjava.io.*;

class  TransStreamDemo

{

         public static void main(String[] args)throws IOException

         {

                   //键盘的最常见写法。

                   BufferedReader bufr = 

                                     newBufferedReader(new InputStreamReader(System.in));

//               OutputStream out = System.out;

//               OutputStreamWriter osw = newOutputStreamWriter(out);

//               BufferedWriter bufw = newBufferedWriter(osw);

                   BufferedWriter bufw = newBufferedWriter(new OutputStreamWriter(System.out));

                   String line = null;

                   while((line=bufr.readLine())!=null)

                   {

                            if("over".equals(line))

                                     break;

                            bufw.write(line.toUpperCase());

                            bufw.newLine();

                            bufw.flush();

                   }

                   bufr.close();

         }

}


File类总结---递归列出目录中的内容,并且有层级

classFileDemo3 

{

         public static void main(String[] args) 

         {

                   File dir = newFile("d:\\testdir");

                   showDir(dir,0);

         }

         public static String getLevel(intlevel)

         {

                   StringBuilder sb = newStringBuilder();

                   sb.append("|--");

                   for(int x=0; x<level; x++)

                   {

                            //sb.append("|--");

                            sb.insert(0,"|  ");

                   }

                   return sb.toString();

         }

         public static void showDir(File dir,intlevel)

         {

                   System.out.println(getLevel(level)+dir.getName());

                   level++;

                   File[] files =dir.listFiles();

                   for(int x=0;x<files.length; x++)

                   {

                            if(files[x].isDirectory())

                                     showDir(files[x],level);

                            else

                                     System.out.println(getLevel(level)+files[x]);

                   }

         }


本文出自 “11773640” 博客,请务必保留此出处http://11783640.blog.51cto.com/11773640/1868693

以上是关于Java-IO流总结的主要内容,如果未能解决你的问题,请参考以下文章

Java-IO

Java-io流

Java-IO处理流

java-IO流-其他流

java-IO流

Java-IO流