1、io操作就是输入和输出操作。javaio操作可以用io包里的类来完成。
jdk4之后,java提供了一套新的io,java New IO。
2、流、就是一个连续的数据流。流可以是字节流也可以是字符流。
3、io操作面向的目标大致可分为:文件、管道、socket、内存缓存、系统system.in\out\error
4、java io类大致可分为:
输入流:inputStream,reader
输出流:outputStream,writer
5、常见用法:
File file = new File("e:/test.txt");
Reader reader = new FileReader(file);
int size = reader.read(new char[(int)file.length()]);
reader.close;
File file = new File("e:/test.txt");
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is);
char[] byteArray = new char[{int}file.length()];
int size = reader.read(byteArray) ;
is.close();
reader.close();
6、io类也可以组合使用,就是嵌套使用。
7、文件类操作:
File操作:
File file = new File("e:/test.txt");
boolean fileExists = file.exists();
file.mkdir();
file.mkdirs();
file.length();
file.renameTo(new File("e:/test3.txt"));
file.delete();
file.isDirectory();
file.list();
file.listFiles();
8、java管道流
可以用来实现同一个jvm中两个线程的交互。
PipedInputerStream
PipedOutputStream
9、java网络传输
主要是核心Socket。java对应的有两套API,java IO 和 java NIO。
10、缓冲流:
BufferedInputStream
BufferedReader
BufferedOutputStream
BufferedWriter
原理就是在对流进行读写时用buffer来一次读取一个块的内容,比字节读法效率高。