zoukankan      html  css  js  c++  java
  • 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

    宣言:在此记录自己学习过程中的心得体会,同时积累经验,不断提高自己! 文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。 欢迎大家留言交流。转载请注明出处。
  • 相关阅读:
    vue : 无法加载文件 C:UsersxxxAppDataRoaming pmvue.ps1,因为在此系统上禁止运行脚本
    VSCode搭建简单的Vue前端项目
    Ant Design和Ant Design Pro
    React、Vue、AngularJS、Bootstrap、EasyUI 、AntDesign、Element理解
    CTF-flag在index里 80
    Web安全之XSS漏洞专题和Web安全之命令执行漏洞专题—第五天
    CTF-web4 80
    Sqli-labs-第五关详解
    Web安全之文件上传漏洞专题--第四天.
    Sqli_labs第1-4关&&sqlmap.py的初步使用
  • 原文地址:https://www.cnblogs.com/vegetable/p/5479808.html
Copyright © 2011-2022 走看看