Java开发心得:输入流和输出流的流向的理解?

开课吧开课吧科科2021-02-04 14:29

什么时候使用流对象?

操作设备上的数据或操作文件的时候可以使用。

字符流

字符流的抽象基类:Reader , Writer。

字符流的理解,由来和作用?

java教程

由于很多国家的文字融入进来,比如说中文在编码表中默认占2个字节。而为了按照文字的单位来处理,所以出现了字符流。

由来:早期的字节流+编码表,为了更便于操作文字数据。

作用:为了处理文字数据。

复制文件的原理和代码。

原理:

首先用一个读取流对象和一个文件进行关联,然后用一个写入流对象作为目地的,

为了把读取流中的文件传输到目的地流对象中,我们就提供了一个字符数组,

为了关联这个数组,所以读取流对象有一个read()方法与这个字符数组进行关联,

同理,写入流对象也有一个write()方法与这个字符数组进行关联,

这样2个流对象就相连接了,而这个字符数组就相当于一个中转站。

import Java.io.FileReader;

import Java.io.FileWriter;

import Java.io.IOException;

/*

 * 对文本文件进行复制。将c盘的文件复制到d盘中。

 * 原理:其实就是一个最简单的读写过程。

 * 从c盘源,读取数据,并将读到的数据,写入到目的d盘中。

 */

public class CopyTextFileTest {

public static void main(String[] args) {

FileReader fr = null;

FileWriter fw = null;

try {

//1,创建一个字符读取流读取与源数据相关联。

fr = new FileReader("demo.txt");

//2,创建一个存储数据的目的地。

fw = new FileWriter("copyDemo.txt");

//3,创建一个字符数组将读取流对象和写入流对象相连接。

char[] buf = new char[1024];

//4,每次读取的长度不一样,所以定义一个变量.

int len = 0;

//5,用循环读取文件中的数据

while((len= fr.read(buf)) != -1) //判断是否读取完没

fw.write(buf,0,len); //为了只读取有效的数据

} catch (Exception e) {

}finally{

try {

fr.close();

} catch (IOException e) {

e.printStackTrace();

}

try {

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

Java是一门优秀的编程语言,应用广泛,可以做网站、软件、手机游戏、中间件以及现在流行的安卓手机app等,发展前景很可观,有对Java感兴趣的同学就赶快学习起来吧。以上就是小编今天为大家整理发布的“Java开发心得:输入流和输出流的流向的理解? ”一文,希望为正在学习Java语言的朋友提供学习参考,更多Java教程相关内容尽在开课吧广场Java教程频道!

有用
分享