黑马程序员技术交流社区

标题: IO流的一个底层问题,看看如何解决 [打印本页]

作者: small_peter    时间: 2015-10-17 00:16
标题: IO流的一个底层问题,看看如何解决
将a.txt里的内容复制到b.txt
字节流做的事情是
先读取字节-字节放到内存-将内存中的字节写入b.txt
字符流具体做了什么事情(如何读取的,又如何写入的,包括什么时候对照编码表的)
作者: [GuoQin]    时间: 2015-10-17 00:21
代码如下,详细请参考注释

public class CopyFile {

public static void main(String[] args) {

String path1 = "E:\\1.txt";  

String path2 = "E:\\2.txt";

InputStream is = null;

OutputStream out = null;

try {

// 打开第一个文件:以输入流的形式,如果文件不存在,报错

is = new FileInputStream(path1);

// 打开第二个文件:以输出流的形式,如果文件不存在,会自动创建

out = new FileOutputStream(path2);

int b; // 变量b,记录每次读的字节值,因为Java中字节可以和int装换

// is.read() 读出一个字节

// b = is.read() 将上面的字节赋值个变量b

// (b = is.read()) != -1 判断 b 是否等于-1

// 因为 is.read() 返回 -1,表示文件已经读完了

while ((b = is.read()) != -1) {

out.write(b); // 写入输出流中

}

out.flush(); // 输出文件

} catch (Exception e) {

e.printStackTrace();

} finally {

// 关闭流

if (is != null)

try {

is.close();

} catch (IOException e) {

}

if (out != null)

try {

out.close();

} catch (IOException e) {

}

}

}

}
看看如何,今天我恰好看到这个东东。

作者: [GuoQin]    时间: 2015-10-17 00:29
[GuoQin] 发表于 2015-10-17 00:21
代码如下,详细请参考注释

public class CopyFile {

谢谢!只是刚好看到,就回复了,一起加油!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2