文件流及其操作_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 文件流及其操作

文件流及其操作

 2014/5/24 1:09:36  songjie_xuan  程序员俱乐部  我要评论(0)
  • 摘要:文件的输入输出流是编程语言中很重要的一个应用。文件流指的就是计算机中用于传输数据的通道,在Java.io包中,有Inputstream和Outputstream两个类,这两个类是说有字节输入输出流操作的父类。利用这两个类可以对输入输出流进行一系列的操作。OutputStream这个类决定了输出所要去往的目标,目标包括字节数组、文件或管道。该类包含了以下方法:close()=>关闭此输出流并释放与此流相关的所有系统资源flush()=>刷新此输出流并强制写出所有缓冲的输出字节
  • 标签:文件 操作

class="p0">文件的输入输出流是编程语言中很重要的一个应用

文件流指的就是计算机中用于传输数据的通道,在Java.io包中,有Inputstream和Outputstream两个类,这两个类是说有字节输入输出流操作的父类。利用这两个类可以对输入输出流进行一系列的操作。

OutputStream这个类决定了输出所要去往的目标,目标包括字节数组、文件或管道。该类包含了以下方法:

close()?=>关闭此输出流并释放与此流相关的所有系统资源

flush()?=>刷新此输出流并强制写出所有缓冲的输出字节强制将数据传输通道中的数据输出到目标因为将数据输出到硬盘文件时内存的发送速度远高于硬盘接收速度,在传输通道中有数据的留存,需要使用此方法强制将道中的数据推出

write(byte[]?b)?=>此方法实现了将数组b[]中的数据以字节的形式写入到输出流中

write(byte[]?b,int?off,int?len)?=>此方法实现将数组b[]从off到len处的数据截取并写入到输出流中

以下是对部分方法的使用:

?

try {
			//根据文件对象建立文件输出流
			//建立管道流的时候自动检测是否存在该文件是否存在
			//FileOutputStream fos = new FileOutputStream(f);
			//参数1 =>要写入数据的文件路径
			//参数2 =>是否将数据追加到文件末尾
			FileOutputStream fos = new FileOutputStream(f,true);
			
			//得到要输出的字符串的字节数组
			byte[] bs = str.getBytes();
			
			//增强for循环
			for (byte b:bs) {
				//写出字节
				fos.write(b);
			}
			
			//强制将管道中的数据输出到目标
			//因为内存的发送速度远高于硬盘接收速度,需要强制将管道中的数据推出
			fos.flush();
			
			//关闭输出流
			fos.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}

(关于其中的异常,这里暂时不做说明)

?

(其实我还没有学,不知道大笑

而在使用输出流时,输出流在文件不存在时会自动创建文件,在文件已经存在的情况下,可以选择是否将数据追加到源文件末尾

<!--EndFragment-->

InputStream类的作用是用来表示那些从不同数据源产生输入的类,这些数据源包括了字节数组、String对象、文件、数据传输管道等,其中包含了以下方法:

available()?=>此方法获得流中所含的字节数,返回一个int类型的值,这个值即为该流所含的字节数

read()?=>此方法从流中以单个字节的形式读取字节,返回值得范围在0—255之间,这个值就是当前读取的字节数据。

?

int i = 0;
int b = fin.read();
while(b != -1) {
	bs[i] = (byte)b;
	b = fin.read();
}

mark()?=>此方法标记当前字节的位置

<!--EndFragment-->

<!--EndFragment-->
发表评论
用户名: 匿名