java中的io可以分为
1、字节流 1、输入流 1、节点流
2、字符流 2、输出流 2、处理流
一、字节流
字节流中都是InputSream和OutputStream的子类
InputSream使用read()方法int read(byte [] a,int off,int len),返回读取的自己数或者读取到文章末尾时返回-1
OutputStream使用write(byte [] a,int off,int len)方法
使用步骤:
1、第一步导入类
2、申明输入流或者输出流的引用
3、在try语句中生成代表输入流或者出处流的对象
4、生成一个字节数组
5、调用输入流对象的read方法,读取数据
6、调用输出流的write方法,输出数据
7、关闭输入和输出流对象(注意需要使用try ……catch语句)
//第一步导入类
import java.io.*;
class Test
{
public static void main(String args [])
{
//读取操作的步骤
//1.申明输入流引用
FileInputStream fis = null;
try{
//2.生成代表输入流的对象
fis = new FileInputStream("e:/Javawork/qianfeng/lesson/32/from.txt");
//3.生成一个字节数组
byte [] buffer = new byte[100];
//4.调用输入流对象的read方法,读取数据
fis.read(buffer,0,buffer.length); //read方法:read(byte[],int off,int len)
for (int i=0;i<buffer.length ;i++ )
{
System.out.println(buffer[i]);
}
String s = new String(buffer);
s = s.trim(); //调用一个String对象的trim()方法之后,将会去掉这个字符串的两端位空格和空字符
System.out.println(s);
}
catch(Exception e){
System.out.println(e);
}
//写入操作的步骤
System.out.println("开始输出:");
//1.声明输入、输出流引用
FileOutputStream filout = null;
FileInputStream filin = null;
try{
//2.生成代表输入、输出流的对象
filin = new FileInputStream("e:/Javawork/qianfeng/lesson/32/from.txt");
filout = new FileOutputStream("e:/Javawork/qianfeng/lesson/32/to.txt");
//3.生成一个字节数组
byte [] bufferout = new byte[100];
//4.得到读取到的数据长度temp,并且调用输入流对象的read方法,将数据读入到字节数组
int temp = filin.read(bufferout,0,bufferout.length);//将数据读入到字节数组中
System.out.println("Temp的值是" + temp);
//5.调用输出流对象的write方法,输出数据
filout.write(bufferout,0,temp);
}
catch(Exception e){
System.out.println(e);
}
}
}