一、IO的体系:
java.io.File类的使用
IO原理及流的分类
文件流
FileInputStream / FileOutputStream / FileReader / FileWriter
缓冲流
BufferedInputStream / BufferedOutputStream /
BufferedReader / BufferedWriter
转换流
InputStreamReader / OutputStreamWriter
标准输入/输出流
打印流(了解)
PrintStream / PrintWriter
数据流(了解)
DataInputStream / DataOutputStream
对象流 ----涉及序列化、反序列化
ObjectInputStream / ObjectOutputStream
随机存取文件流
RandomAccessFile
二、文件的读取和写入
①:文件的读取:
------使用字节读取:
public class Test{
public staic void main(String[] args){
File file = new File("test.txt");
FileInputStream fis=new FileInputStream(file);
byte[] buf=new byte[1024];//定义字节数组
int len;
while((len=fis.read)!=-1){
System.out.println(buf);
}
fis.close();//注意关闭流
}
}
--------使用字符读取:
public class Test{
public staic void main(String[] args){
File file = new File("test.txt");
FileInputStream fis=new FileInputStream(file);
char[] cha=new char[5];//定义字符数组
int len;
while((len=fis.read)!=-1){
System.out.println(buf);
}
fis.close();//注意关闭流
}
}
--------使用字符串:
public class Test{
public staic void main(String[] args){
File file = new File("test.txt");
FileInputStream fis=new FileInputStream(file);
BufferedInputStream bis =new BufferedInputStream(fis);
String str=null;//定义字符串
while((str=buf.readLine())!=null){
System.out.println(buf);
}
bis.close();
fis.close();//注意关闭流
}
}
①:文件的写入:fos.write(b,0,len)
三、常用的处理流
四、File类常用的方法:
五、注意事项:
①:word是用字节读取的
②:关闭文件的动作意味着将缓冲区中的数据全部的写入文件
③、FileOutputStream fos=new FileOutputStream(filename,true):
第二个参数为true表示在开启流时,如果文件不存在则会新建一个文件,如果存在,则直接开启流,并将写入的数据附加到文件的末端
④:缓冲流每次读入一定长度的数据,默认为2048;read()方法其实是写读入缓冲流中的数据,然后再读流中的数据