`

文件流及其操作

阅读更多

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

文件流指的就是计算机中用于传输数据的通道,在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-->
1
0
分享到:
评论

相关推荐

    C#文件流,概念,操作

    C#文件流的详细操作,文件与文件夹创建复制移动删除,File类和Directory类的使用,FileInfo类和DirectoryInfo类的使用

    VC文件操作

    涉及 VC文件操作的实现方法: ◎FILE指针 ◎文件流类 ◎MFC CFile类及其派生类 ◎串行化/序列化 PPT课件形式,较全面

    有限单元法及其应用

    (1)ANSYS命令流文件及图形界面操作均在ANSYS11.0版本下运行测试过,可在ANSYS11.0及其以上版本中运行。 (2)MATLAB命令流文件及函数文件均在MATLAB6.5版本下运行测试过,可在MATLAB6.5及其有上版本中运行。

    工作流引擎 Osworkflow 及其持久化机制的研究

    各种数据和操作状况。这些核心的思想表现在 OSWorkflow引擎核心包里面,并且通过用一 个简单的 XML文件来描述业务工作流程。同时,OSWorkflow 是一个“低端”的工作流实现, 对流程的定义和持久化机制的扩展都需要...

    Java-IO流/Stream流总结

    内容:IO流及其分类、分类比较、转换流、缓存流、IO流异常处理、Stream流、Properties教程等。 适合人群:有编程基础及Java基础伙伴 适用场景:Java中的流是随处可见的,涉及文件的操作必须使用IO流,Stream流可以对...

    第二章 Linux 常用命令训练 答案

    2.熟悉 Linux 关于文件和目录操作的常用命令。 3.掌握 Linux 关于用户和系统操作的常用命令。 4.掌握查看命令帮助的方法。 5.掌握 Linux 中变量、流、管道操作的命令。 6.掌握 Linux 中进程操作的命令。 7.掌握...

    网络文件交换工具

    文件流方式,从而避免了传送大文件因占用过多内存造成 的死机现象。 ======================================================== 5.关于作者 作者懒猫,是一个普通的程序员,戴着深度眼睛,有着粗粗的腰围...

    《计算机操作系统》期末复习指导

    对考试很有帮助的.......... 《计算机操作系统》期末复习指导 第一章 计算机操作系统概述 ...(1)操作系统文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定...

    UNIX操作系统教程 张红光

    第1章绪论.1 1.1操作系统概述1 1.1.1建立操作系统的目标1 1.1.2操作系统是用户与计算机的接口1 1.1.3操作系统是资源管理器2 1.2UNIX系统的主要特性3 1.3UNIX系统的发展史4 1.4开源软件与UNIX的推广发展6 1.4.1开源...

    精通LINUX下的C编程(配套光盘)第三部分

    3.3 基本文件I/O操作 3.4 文件高级操作 3.5 小结 习题 第4章 标准I/O库 4.1 概述 4.2 流和FILE对象 4.3 打开和关闭流 4.4 读和写流 4.5 流文件定位 4.6 文件结束和错误 4.7 流缓冲 4.8 格式化I/O ...

    Unix操作系统设计

    6.6.1 睡眠事件及其地址 6.6.2 算法sleep和wakeup 6.7 本章小结 6.8 习题 第7章 进程控制 7.1 进程的创建 7.2 软中断信号 7.2.1 软中断信号的处理 7.2.2 进程组 7.2.3 从进程发送软中断信号 7.3 进程的终止 7.4 ...

    c51智能卡cos操作系统源代码-keil uv2

    但是,所有的COS都必须能够解决至少三个问题,即:文件操作、鉴别与核实、安全机制。事实上,鉴别与核实和安全机制都属于智能卡的安全体系的范畴之中,所以,智能卡的COS中最重要的两方面就是文件与安全。但再具体地...

    官方最新发布的Textpro6.5及其教程

    发现不同字符时,程序在下方状态栏提示不相同的字符及其位置,当前激活的文件中,光标自动移到不相同的字符处,以便直接编辑,另一个未激活文件窗口的显示位置自动随之移动。 比较时自动忽略回车和半角空格,还有...

    用于微处理器、微控制器和 DSP 的紧凑、可靠、高性能和线程安全的嵌入式文件系统_C语言_代码_相关文件_下载

    自 1999 年作为一家私营公司成立以来,Micriµm 及其工程师团队为最关键和最苛刻的实时应用程序提供了世界一流的嵌入式软件组件。Micrium 实时内核和软件组件被公认为拥有业内最简洁的代码、易于理解的文档,已成功...

    c#文件的I/O基本操作

    文件是一些永久存储及具有特定顺序的字节组成的一个有序的,具有名称的集合。与文件有关的概念是目录路径和磁盘存储...Stream类及其派生类提供数据源和存储库的一般视图,使程序员不必了解操作系统和基础设备的具体细节

    精通LINUX下的C编程(配套光盘)第一部分

    3.3 基本文件I/O操作 3.4 文件高级操作 3.5 小结 习题 第4章 标准I/O库 4.1 概述 4.2 流和FILE对象 4.3 打开和关闭流 4.4 读和写流 4.5 流文件定位 4.6 文件结束和错误 4.7 流缓冲 4.8 格式化I/O ...

    精通LINUX下的C编程(配套光盘)第二部分

    3.3 基本文件I/O操作 3.4 文件高级操作 3.5 小结 习题 第4章 标准I/O库 4.1 概述 4.2 流和FILE对象 4.3 打开和关闭流 4.4 读和写流 4.5 流文件定位 4.6 文件结束和错误 4.7 流缓冲 4.8 格式化I/O ...

    数据读写操作API(源码+jar包+文档)

    文件包含了jar包及其源码,提供了各种数据读写,IO流读写的API,省去了自己操作IO流和数据的繁琐,提供了许多方法供调用,可以用来学习或者用在数据操作或涉及IO操作的代码编写中,绝对有收藏价值!

    操作系统实验

    2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程实现UNIX SysV/Linux文件系统内各部分的定位。 3)至少要实现对给定i节点文件的只读访问。 4)建议根据文件名读取文件。

    sdo规范及其应用介绍

    随着SOA理念的流行和 WebService等技术的广泛应用,我们发现在越来越多的系统中,我们需要访问各种不同的底层数据,这些数据包括关系型数据库,EJB组件,XML文件或数据库,Web服务, JSP 页面数据等等。为了能够访问...

Global site tag (gtag.js) - Google Analytics