IO流是java的核心内容之一,学习IO流的关键在于这个流字,流向哪里,以什么为参照物,简单理解的话,以控制台为参照物,从文本中输入到控制台,即Input,从文本中读取,反之,通过控制台输出内容到文本中,即Output,从控制台中写东西到文本中!
关于IO流中的流类的关系如下图:
如上图所示,我们在这里一一解说
1Reader 与Writer 是抽象类,图中从左到右的关系是,右边的类继承左边的类;一个字符包含多个字节
2对于流的操作要注意异常的处理
3对于流的操作,操作完后记得关闭流
4上面的Input与Output是相对应的,i格式输入流,一个是输出流
5对于个各类有啥方法大家可以去查询下API
接下来上代码解说上面的知识点
/**
* 对文件的一些常用操作
* @param file
*/
public void makeFile(File file){
//判断文件是否存在
if(file.exists()){
//如果存在,获取文件的一些性质
//文件的绝对路径
String path=file.getAbsolutePath();
System.out.println("文件的绝对路径是:"+path);
//获取文件名
String fileName = file.getName();
//获取文件的最后修改时间
long time=file.lastModified();
//运行可执行文件
Runtime ec=Runtime.getRuntime();
try {
//执行,记住异常
ec.exec(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
下面的两个方法是创建文件的两个方法
File file=test.createFile("ioTest");
File file1=test.createFile("D:/devolopSoft/code/work/myJava", "ioTest1.txt");
IO流的重点是对流的操作,以下的方法是读取文本内容的:
public void readTxt(){
BufferedReader read=null;
String str="";
try {
//注意文件名的书写的时候,转义符的使用下面的\\可以换成/
read=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\devolopSoft\\code\\work\\myJava\\hello.txt")));
//一直读取文本,一行一行的读取,直到读完
while((str=read.readLine())!=null){
System.out.println(str);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//当对流操作完后记得关闭流
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
对于输出流的操作和这个相差不了多少。
ok,关于操作流的技巧,平时要注意总结,用的多了,基本上就是按照套路来写