共计 1790 个字符,预计需要花费 5 分钟才能阅读完成。
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。
正文完
发表至: javascript
2021-02-27