I/O总结:
前面我们将到的File类主要是针对文件的,为非文件内容,而在IO中,这个则主要是针对文件里的内容而言了
我们这里讲IO,主要讲的就是流,什么是流?这里我打个比方,我们现在生活中所用到的水都是来自湘江的,而从湘江的水到
用户这里,就需要管道的连接,流就好比这管道用于运输的作用。
流可分为 基础字节流(原始流),过滤流(节点流
在六种InputStream和OutputStream是最普通的,还有缓冲流BufferedInputStream 和 BufferedOutputStream,跟高级的还有
Data流。
基础流和缓冲流有这很明显的区别,当基础流在读取时,是在硬盘中读取一个字长的长度,在一个一个传入虚拟机进行处理,而缓冲流则在
虚拟机中还有这一个缓冲内存,硬盘中的内容一个个传入到虚拟内存中,当虚拟内存满了再一次性传入虚拟机进行处理,这样在时间上自然就
节省了许多。
当你要创建缓冲流对象是,需要先创建基础流对象,然后在此基础上在创建缓冲流例如:
//创建一个inputstream对象
InputStream is=new FileInputStream(path);
//创建一个Bufferedinputstream对象
BufferedInputStream bis=new BufferedInputStream(is);
更总要的是,当只是一个基础流是,在拷贝文件时,读取出来的文件要转化成byte类型在写入,否则读出来的将会是对我们毫无用处的乱码
如下:
//获取文件长度
int length = is.available();
//定义一个byte数组
byte[] contentbyte=new byte[length];
for(int i=0;i<length;i++){
//将读取的装换为byte类型
byte b=(byte)is.read();
os.write(b);
//存储读取的字节
contentbyte[i]=b;
}
//将读取到的转换为字符串类型
String str=new String(contentbyte);
System.out.println("文件内容为: \n"+str);
还有,在读取完文件后要记得将流关闭,以免发生不必要的错误
//创建一个inputstream对象
InputStream is=new FileInputStream(path);
//创建一个Bufferedinputstream对象
BufferedInputStream bis=new BufferedInputStream(is);
//创建一个outputstream对象
OutputStream os=new FileOutputStream(newpath);
//创建一个bufferedoutputstream对象
BufferedOutputStream bos=new BufferedOutputStream(os);
int i=0;
while((i=bis.read())!=-1){
bos.write(i);
}
bos.flush();//强制将缓冲中的内容写入到文件中
is.close();
os.close();
bis.close();
bos.close();
分享到:
相关推荐
这篇博客“Java学习之IO总结及mina和netty”探讨了Java IO的基础知识,并深入到两个高级网络通信框架——Mina和Netty。Mina和Netty都是基于NIO(非阻塞IO)的高性能网络应用框架,它们简化了复杂网络编程的实现。 *...
javaIO总结,帮助初学者了解及掌握IO,以及java高级的一些基础知识
有关Java输入输出流的总结有关Java输入输出流的总结有关Java输入输出流的总结
集合&&IO总结表
Java IO总结 Java IO是Java中对文件的操作方式,以流的方式进行。流是Java内存中的一组有序数据序列。Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件...
Java_IO总结.pdf Java_IO总结.pdf
Java线程和IO总结.pdf
IO总结,包括:File类,递归,字节流,字符流,序列化流,高效流,转换流,打印流。
在Linux操作系统中,文件输入/输出(IO)是程序与数据交互的核心机制。本文将深入探讨Linux中的文件IO和标准IO,以及它们之间的差异。首先,我们从基本概念出发,理解这两种IO方式。 **文件IO**是Linux系统中最常见...
JavaIO总结[借鉴].pdf
Java线程和IO总结[整理].pdf
java中的IO操作总结(四) 前面已经把java io的主要操作讲完了 这一节我们来说说关于java io的其他内容 Serializable序列化 实例1:对象的序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...
《IO总结文档》 IO(Input/Output,输入/输出)是计算机系统中不可或缺的一部分,主要负责处理设备之间的数据传输。在Java中,IO流是一个关键的概念,它提供了读写数据的方法,使得程序能够与外部世界进行交互。...
Java io流的总结
java基础中的IO流部分的总结,有详细的知识点描述,思维导图的整体框架