IO流总结

简介:

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]);

                   }

         }

 本文转自 叫我北北 51CTO博客,原文链接:http://blog.51cto.com/qinbin/1950540



相关文章
|
21天前
|
C语言 iOS开发 C++
10. C++IO流
10. C++IO流
15 0
|
6月前
|
存储 编译器 C语言
IO流(C++)
IO流(C++)
36 3
|
安全 C语言 C++
【C++】—— C++的IO流
【C++】—— C++的IO流
|
8月前
IO流
IO流
28 0
|
9月前
|
C语言 C++ iOS开发
IO流(C++)
IO流(C++)
57 0
IO流(C++)
io流
inputStream和Reader是所有输入流的基类
|
5月前
|
安全 C语言 C++
|
8月前
|
安全 编译器 C语言
【C++】IO流
【C++】IO流
58 0
|
8月前
|
C++
C++IO流(1)
C++IO流(1)
|
10月前
|
存储
IO流理解
个人学习理解
31 0