package com.client0601;
import java.nio.charset.Charset;
public class App {
public static void main(String[] args) {
for(String key:Charset.availableCharsets().keySet()){
System.out.println(key);
}
System.out.println(Charset.defaultCharset());
}
}
缓冲字节流:
object-->outPutStream-->FileterOutputStream-->BufferedOutputStream
使用了装饰模式
缓冲输入流
object-->InPutStream-->FileterInputStream-->BufferedINputStream
close()
释放与之关联的系统资源,多次关闭没有影响,不会报错。从外部向内部关闭。
字节数组输出 流:ByteArrayOutputStream
Object-->OutputStream-->ByteArrayOutputStream
在内存中开辟空间,存放数据。不是缓冲区流
直接创建使用就可以
字节数组输入流:ByteArrayInputStream
Object-->InputStream-->ByteArrayInputStream
intt和byte[]之间的转换。
InputStreamReader转换流
Object-->Reader-->InputStreamReader
InputStreamReader不是缓冲区流
使用时,尽量使用BufferedReader对其进行包装,提高效率 。
package com.client0602;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
public class StanderIODemo {
public static void main(String[] args) throws Exception {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.setOut(new PrintStream(new FileOutputStream("e:/e.txt"){
}));
System.out.println("hello word");
String line="";
while((line=br.readLine())!=null){
if(line.equals("exit")){
System.exit(-1);
}else{
System.out.println(line);
}
}
br.close();
}
}
阐述IO流。流向以及功能的作用。
输入输出流字符字节流的,缓冲与非缓冲流。
桥接流或者转换流。
修改默认输出方法。传进新的打印对象,
打印对象有大量构造函数的重载。
文件
目录:
路径:精准定准文件的地址。
File f=new File("e:/e.txt");
System.out.println(f.exists());
String abspath=f.getAbsolutePath();
String name=f.getName();
String cadfad=f.getCanonicalPath();
String parent=f.getParent();
//绝对路径
System.out.println(".getAbsolutePath():"+abspath);
//文件名,不仿目录
System.out.println("f.getName():"+name);
//得到正规路径,不含(.|..)
System.out.println("f.getCanonicalPath():"+cadfad);
//获取 文件所在的目标
System.out.println("f.getParent():"+parent);