希望你自己能有点数哈,不付出还想有回报?想你妈呢
简单的就像做完题?你能不能有点追求?
Java的IO流在java.io包中,其下面有很多类,包含有 InputStream,OutputStream,Reader,Writer.
前面两个是字节流的输入流输出流,后两个是字符流的输入流输出流。
这四大类是输入输出中的最大的父类。
字节流
针对字节的输入输出
字节就是Byte。1Byte=1字节。
Inputstream的常用方法
int read(): 读取一个8位的字节,将其转换为0-255之间的整数,并返回。结束标志返回-1
int read(byte [] b,int off,int len):从输入流读取若干字节,把他们保存到字节数组b中。off是指定字节数组的起始下标
,len表示从off下标开始读取的长度
void close() 关闭输入流
//向txt文件写入数据
FileOutputStream out = new FileOutputStream("out.txt");
String str="hello";
out.write(str.getBytes());
out.close;
//这样写入会直接将本来的数据覆盖掉,采用下面的方法会追加到后面
FileOutputStream out = new FileOutputStream("out.txt",true);
太他妈神奇了
追加成功!
//实用字节流缓冲区拷贝文件
FileInputStream fl = new FileInputStream("D:\\a.jpg");
FileOutputStream fo = new FileOutputStream("D:\\lgq.jpg");
byte [] a = new byte[1024];
int len=0;
while((len=fl.read(a))!=-1)
fo.write(a);
//字节缓冲流实现文件的复制
BufferedInputStream bi=new BufferedInputStream(new FileInputStream("D:\\a.jpg"));
BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream("D:\\xa.jpg"));
int len=0;
while(bi.read()!=-1)
bo.write(len);
bo.close();
bi.close();
使用字节缓冲流的构造方法的参数必须是一个字节输入输出流!!!!参数必须是流!参数必须是流!参数必须是流!
拷贝成功!
//字符流写入:
FileWriter fo=new FileWriter("D:\\再别康桥.txt");
fo.write("轻轻的我走了\n");
fo.write("正如我轻轻的来");
fo.close();
成功!
字符流
//字符流缓冲区
FileReader fr=new FileReader("D:\\再别康桥.txt");
FileWriter fo=new FileWriter("D:\\再见康桥.txt");
char a[]=new char[1024];
int len;
while((len=fr.read(a))!=-1)
fo.write(a);
fr.close();
fo.close();
写完关闭流!!写完关闭流!!写完关闭流!!!!!!
//字符缓冲流实现文件的拷贝
BufferedReader br=new BufferedReader(new FileReader("D:\\再见康桥.txt"));
BufferedWriter bo=new BufferedWriter(new FileWriter("D:\\真的不再见康桥.txt"));
int len;
while((len=br.read())!=-1)
bo.write(len);
bo.close();
br.close();