1,什么是 Java IO ?

Java IO 就是将一组有程序的、单向的数据汇合进行输出或者输入,这样的传输模式相似于水流的模式,因而也被称作“流”。总的来说 Java 的 IO 模式又可分为两种,一种是字节流、另一种是字符流,个别状况下,字节流和字符流又能够进行互相转换。

2,实现最简略的输入输出流
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main {    public static void main(String[] args) {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));    String dataLine = null;    do {      try {        dataLine = br.readLine();        System.out.println("数据:" + dataLine);      } catch (IOException e) {        System.err.println("产生异样:" + e.getMessage());      }    } while (!dataLine.equals("Q"));  }} 

应用 System.in 进行控制台输出,应用输出流读取每行字符串而后打印。在 java5 之后的版本也能够间接应用 Scanner scan = new Scanner(System.in); 进行控制台数据接管。而上述代码中的 System.out.println(“数据:” + dataLine); 其实也是将数据进行输入,也能够看作是输入流的一种。

3,文件流的输入输出

(1)输出流读取文件

首先,在 C 盘上面创立一个文件 data.txt,其次,应用输出流将其读取后输入到控制台即可。

import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class Main {    public static void main(String[] args) {    try {            // 文件输出      InputStream inputStream = new FileInputStream("C:/data.txt");            // 字符长度      int length = inputStream.available();            // 遍历读取字符      for (int i = 0; i < length; i++) {        char ch = (char) inputStream.read();        System.out.println("数据:" + ch);      }    } catch (IOException e) {            // 异样解决      System.err.println("产生异样:" + e.getMessage());    }  }} 

(2)输入流写入文件

首先,在 C 盘上面创立一个文件 data.txt,其次,应用输入流获取文件后将其写入即可。

import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;public class Main {    public static void main(String[] args) {        // 字节数组    byte [] byteData = {'w','c','e','d','u'};    try {            // 文件输入      OutputStream outputStream = new FileOutputStream("C:/data.txt");      int i = 0;            // 遍历字节数组,写入文件      while (i < byteData.length) {        outputStream.write(byteData[i]);        i++;      }    } catch (FileNotFoundException e) {            // 解决异样1      e.printStackTrace();    } catch (IOException e) {            // 解决异样2      e.printStackTrace();    }  }} 

当然,流的应用模式十分多,上述代码块只是比拟常见的模式,有趣味的童鞋还能够持续深究。

欢送关注 “老王说编程“,每天提高一点点,您的每一个点赞、在看、分享都是在致力于缩小 “攻城狮” 产出的 BUG。