I/O是input/output的缩写,即输入输出端口。
从 文件、键盘、网络 等输入到java程序,再从java程序输出到 文件、显示器、网络等
分类:
1、输入流 和 输出流
2、字节流 和 字符流
3、节点流 和 处理流
核心方法:read、write
字节流例子:文件读取
//导入io包
import java.io.*;
class Test
{
public static void main(String args[]){
//声明输入流引用
FileInputStream fis = null;
try{
//生成输入流对象
fis = new FileInputStream("e://d/from.txt");//读取文件数据
byte [] buffer = new byte[10]; //生成一个比特类型的数组,长度10
fis.read(buffer,2,buffer.length-2); //存储,偏移量,读取数据长度,偏移量改变,后面也要跟着改,不然就会数组越界了
(整个数组才10,偏移了2个位置才开始,那最多也只剩下8个位置)
//测试接收的数据
for(int i=0;i<buffer.length;i++){
System.out.println(buffer[i]);
}
}
catch(Exception e){
System.out.println(e);
} }
}
字节还原字符串的方法:
String s = new String(arr);
System.out.println(s);
字节流例子:文件写入
import java.io.*;
class Test
{
public static void main(String args[]){
//声明输出流的引用
FileOutputStream fout = null;
try{
//生成输出流的对象
fout = new FileOutputStream("e://d/from.txt");
byte [] s = new byte[10];
s[0] = 't';
//写入数据,数组,偏移量,长度
fout.write(s,0,10);
}catch(Exception e){
System.out.println(e);
}
}
使用完流,关闭节省资源,在catch后面再加上
注意流的关闭顺序是:先打开的后关,后打开的先关
finally{
try{
fout.close();
..
}catch(Exception e){
System.out.println(e);
}
}