Java中的IO流总结
File文件和目录地址名类:
File
构造方法
File(String path);
File(String parent, String path);
File(File parent,String path);
创建方法
createNewFile();//创建文件
mkdir();//创建单级目录
mkdirs();//创建多级目录
获取的方法:
getPath(); //获得构造方法File(String path);中的路径
getAbsolutePath();//获取绝对路径
getName();//获取文件的名字
length(); // 获取文件的大小。
String[] list();//返回该目录下的子文件和子目录的名字到字符串数组
File[] listFiles();返回该目录下的子文件和子目录的名字到File数组
判断的方法:
isDirectory();//是不是目录
isFile();//是不是文件
exists();//存在么
字节流——字节输出流 (以OutputStream为抽象类):
通用Write方法(继承自OutputStream抽象类):
write(int ch);
write(byte[] bys);
write(byte[] bys,int off , int len);
FileOutputStream 实际输出字节的流
构造方法:
new FileOutputStream ("a.txt");
续写的构造方法
new FileOutputStream ("a.txt",true)
BufferedOutputStream 实际输出字节的缓冲流
构造方法:
new BufferedOutputStream(new FileOutputStream ("a.txt"));
PrintStream 字节打印流
构造方法:
new PrintStream("aniki.txt");
ObjectOutputStream 序列化流,对象和字节之间的转换
构造方法:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream ("a.txt"));
oos.writeObject(new Student());
//(必须的) Student 必须实现 Serializable接口 标记结构。
//(推荐的) Student类里面写一个 serialVersionUID
例程:
字节流——字节输入流(以InputStream 为抽象类):
通用read方法(继承自InputStream抽象类):
int read();
int read(byte[] bys);
FileInputStream 实际输入字节的流
构造方法:
BufferedInputStream 实际输入字节的缓冲流
构造方法:
new BufferedInputStream(new FileInputStream ("a.txt"));
ObjectInputStream 序列化流 字节和对象之间的转换
构造方法:
ObjectInputStream oos = new ObjectInputStream(new FileInputStream ("a.txt"));
字符流——字符输出流 (以Writer 为抽象类)
通用write()方法:
write(int ch);
write(char[] chs);
write(char[] bys,int off , int len);
write(String chs);
write(String chs,int off , int len);
OutputStreamWriter
构造方法:
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream ("a.txt"), "UTF-8");
FileWriter
构造方法:
FileWriter fw = new FileWriter("a.txt"); //默认UTF-8
BufferedWriter;
构造方法:
##BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream ("a.txt"), "GBK"));
特有方法:
newLine();
PrintWriter : 字符打印流。
特有方法:
print();
println(); 原样输出。
PrintWriter pw = new PrintWriter(new FileWriter("a.txt") ,true);
pw.write(97);
pw.print(97);
pw.println(97); // a9797换行
字符流——字符输入流(以Reader为抽象类):
通用read()方法:
int read();
int read(char[] bys);
InputStreamReader :
构造方法:
InputStreamReader isr = new InputStreamReader( new FileInputStream("a.txt"), "GBK");
FileReader;
构造方法:
FileReader fr = new FileReader("a.txt");
BufferedReader :
构造方法:
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
标准输入输出流:
System.in自定义键盘录入。
System.out
System.err
特有方法:
System.setErr(流向);
Properties集合:
IO流相关方法:
load();
store();
list();
save();