程序小白---IO流之输入输出流

没错又是我!!!今天继续写博客大笑大笑大笑

今天学了IO流


一:那么首先什么是IO流?


首先我来说一下流的概念

1.什么是流?

流是一个抽象的概念。当Java程序需要从数据源读取数据时,会开启一个到数据源的流。

数据源可以是文件,内存或者网络等。同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文件、内存或者网络等。

流的创建是为了更方便地处理数据的输入输出。


了解了流我们就可以进行输入输出流的概念进行理解了

流分为字节流和字符流。字节流也称为原始数据,需要用户读入后进行相应的编码转换。

而字符流的实现是基于自动转换的,读取数据时会把数据按照JVM的默认编码自动转换成字符。


字节流由InputStream和OutputStream处理,而字符流由Reader和Writer处理。

Reader和Writer是Java后加入的处理类,出于让数据的处理更方便的目的。


按操作数据分为:字节流和字符流.
按流的方向分为:输入和输出流.

流的单位不同:字节流、字符流

流的功能不同:节点流、处理流

话不多说上图啦:

这里写图片描述


下面结合File文件类的知识点来进行一些操作:


(1):将文本的内容读取到控制台

try {
FileInputStream input = new FileInputStream("d://lenovo//hehe.txt");
int n =input.read();
while(n>-1){
System.out.print((char)n);
n = input.read();
}
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

(2):将Strin里的字符串写入到文本

String a = "hello xiaoyumi! 小玉米";
try {
FileOutputStream out = new FileOutputStream("d://lenovo//hehe.txt");
        out.write(a.getBytes());
        out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

(3):将一个txt里的文件放入到另一个txt(复制的原理)

try {
FileInputStream input = new FileInputStream("d://lenovo//hehe.txt");
FileOutputStream out  = new FileOutputStream("d://lenovo//haha.txt");
int n = input.read();
while(n!=-1){
out.write(n);
n= input.read();
}
out.close();
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

声明:部分内容来自http://blog.csdn.net/andloves/article/details/48787707

猜你喜欢

转载自blog.csdn.net/weixin_38423829/article/details/72629364