java学习系列(一)Java中的IO操作

Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入输出操作,在Java中把不同的输入输出源抽象为"流",通过流的方式允许Java程序使用相同的方式来访问不同的输入/输出源。stream是从起源(source)到接收(sink)的有序数据。

Java把所有传统的流类型(类或抽象类)都放在java.io包中,用以实现输入输出功能。

JavaAPI 1.6中java.io包


 1.子节流
 * 输入字节流
 * -------------|InputStream 所有输入字节流的基类,抽象类
 * -----------------|FileInputStream 读取文件的输入字节流。
 *     ----------------|BufferedInputStream    缓冲输入字节流。该类内部其实就是维护了一个8Kb字节数组。该类的出现的买的就是提高读取文件数据的效率。
 * 输出字节流
 * -------------OutputStream 所有输出字节流的基类,抽象类
 * -----------------|FileInputStream 写入文件的输出字节流
 * -----------------|BUfferedOutputStream 缓冲写入字节流。该类的内部同样维护了一个8kb的字节数组。提高文件写入效率。
 *
 2.字符流
 * 字符流 = 字节流 + 编码
 * 输入字符流
 * ------------|Reader 所有输入字符流的基类,抽象类
 * ----------------|FileReader 读取文件字符的输入字符流
 * ----------------|BufferedReader 缓冲输入字符流。该类的内部同样维护一个8192长度的字符数组.
 * 输出字符流
 * ------------|Writer 所有输出字符流的基类,抽象类
 * ----------------|FileWriter 写入文件字符的是输出字符流
 * ----------------|BufferedWriter 缓冲输出字符流。该类的内部同样维护一个8192长度的字符数组。
 *
 3. 转换流:
 *输入转换流的基类InputStreamReader
 *输出转换流的基类OutputStreamWriter
 *转换流的作用:可以将对应的字节流转换成字符流使用;可以指定码表进行文件的数据.
 4.一个实例,移动文件

          

 1 public static void copy(String src, String desc) throws Exception {
 2 
 3         File srcFile = new File(src);
 4         File descFile = new File(desc);
 5         InputStream in = null;
 6         OutputStream out = null;
 7         try {
 8             in = new FileInputStream(srcFile);
 9             out = new FileOutputStream(descFile);
10             int len = -1;
11             byte[] bytes = new byte[1024 * 1024];
12             while ((len = in.read(bytes)) != -1) {
13                 out.write(bytes, 0, len);
14             }
15         } catch (FileNotFoundException e) {
16             e.printStackTrace();
17         } catch (IOException e) {
18             e.printStackTrace();
19         } finally {
20             in.close();
21             out.close();
22         }
23 
24     }
25 }

2016-05-10 gongchao1212

宣言:在此记录自己学习过程中的心得体会,同时积累经验,不断提高自己! 文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。 欢迎大家留言交流。转载请注明出处。
原文地址:https://www.cnblogs.com/vegetable/p/5479808.html