BIO : 全名为,blocking IO,阻塞的IO,也是我们平时最为常用的字符流,字节流等。
NIO:全名为,Non-blocking IO或者称之为 new IO,是JDK 1.4 出现的。由于其是非阻塞的,效率高,越来越受到当前技术的欢迎。
1,BIOBIO也称之为阻塞的IO。
当客户端发送一个数据到服务器,如果服务器一直没有数据返回,那么客户端中程序就一直在红色框中一直等待。
也称之为此时阻塞了。所以BIO也称之为阻塞的IO。且每一次数据的发送都是一个新的IO流。
BIO主要有三大类:字节流、字符流,缓冲流。
下面本文就从这三类分别对BIO进行学习,NIO的内容会在下一篇文章中进行阐述。while((b = fis.read()) != ‐1){
fos.write(b);
} f
is.close();
fos.close();
}
}
public class Demo {
public static void main(String[] args) throws IOException {
//创建一个文件输入流,用来读取数据
FileInputStream fis = new FileInputStream("文件存放路径");
//创建一个文件输出流,用来写出数据
FileOutputStream fos = new FileOutputStream("文件拷贝路径");
int len;
//定义一个数组用来进行缓存
byte [] bys = new byte[8192];
while((len = fis.read(bys)) != ‐1){
fos.write(bys,0,len);
} f
is.close();
fos.close();
}
}
public class Demo {
public static void main(String[] args) throws IOException {
//创建一个字符文件输入流
FileReader fr = new FileReader("文件路径");
int ch;
while((ch = fr.read())!= ‐1){
System.out.println((char)ch);
} f
r.close();
}
} p
ublic class Demo6 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("文件目的地");
fw.write("你好你好");
fw.close();
}
} p
ublic class Demo6 {
public static void main(String[] args) throws IOException {
//创建一个缓冲输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("文件数据源"));
//创建一个缓冲输出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("文件目的地"));
int b;
while ((b = bis.read()) != ‐1) {
bos.write(b);
} b
is.close();
bos.close();
}
public class Demo {
public static void main(String[] args) throws IOException {
//创建一个缓冲输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("文件数据源"));
//创建一个缓冲输出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("文件目的地"));
int len;
byte [] bys = new byte[8192];
while ((len = bis.read(bys)) != ‐1) {
bos.write(bys,0,len);
} b
is.close();
bos.close();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |