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。