Stream 类:
流涉及三个基本操作:
可以读取流。读取是从流到数据结构(如字节数组)的数据传输。
可以写入流。写入是从数据结构到流的数据传输。
流可以支持查找。查找是对流内的当前位置进行的查询和修改。查找功能取决于流具有的后备存储区类型。例如,网络流没有当前位置的统一概念,因此一般不支持查找。
Stream是所有流的抽象基类。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道或者TCP/IP套接字。Stream类及其派生类提供这些不同类型的输入和输出的一般视图,使程序员不必了解操作系统和基础设备的具体细节。
根据基础数据源或储存库,流可能只支持这些功能中的一部分。通过使用 CanRead、 CanWrite 和 CanSeek属性,应用程序可以查询流的功能。
Read和Write方法读写各种不同格式的数据。对于支持查找的流,使用Seek和SetLength方法以及Position和Length属性可查询和修改流的当前位置和长度。
有些流实现执行基础数据的本地缓冲以提高性能。对于这样的流,Flush方法可用于清除所有内部缓冲区并确保将所有数据写入基础数据源或储存库。
在Stream调用Close可清空任何缓存的数据,从本质上为您调用Flush。Close还释放操作系统资源(如文件句柄、网络连接或用于任何内部缓冲的内存)。BufferedStream类提供了将一个经过缓冲的流环绕另一个流的功能,以便提高读写性能。如果需要不带后备存储区(即位存储桶)的流,请使用 Null。
在实现 Stream 的派生类时,必须提供 Read 和 Write 方法的实现。
FileStream 类:
使用FileStream类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。 可以指定读写操作是同步还是异步。FileStream 缓冲输入和输出以获得更好的性能。
FileStream对象支持使用Seek方法对文件进行随机访问。Seek允许将读取/写入位置移动到文件中的任意位置。这是通过字节偏移参考点参数完成的。字节偏移量是相对于查找参考点而言的,该参考点可以是基础文件的开始、当前位置或结尾,分别由 SeekOrigin 类的三个属性表示。
File 类:
将 File 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。 也可将 File 类用于获取和设置文件属性或有关文件创建、访问及写入操作的 DateTime 信息。
FileInfo 类:
将 FileInfo 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。
如果打算多次重用某个对象,可考虑使用FileInfo的实例方法,而不是File类的相应静态方法,因为并不总是需要安全检查。默认情况下,将向所有用户授予对新文件的完全读/写访问权限。
eg:
string path = Path.GetTempFileName();
FileInfo fi1 = new FileInfo(path);
if (!fi1.Exists)
{
//Create a file to write to.
using (StreamWriter sw = fi1.CreateText())
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
}
//Open the file to read from.
using (StreamReader sr = fi1.OpenText())
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
DirectoryInfo 类:
将 DirectoryInfo 类用于典型操作,如复制、移动、重命名、创建和删除目录。
如果打算多次重用某个对象,可考虑使用 DirectoryInfo 的实例方法,而不是 Directory 类的相应静态方法,因为并不总是需要安全检查。
分享到:
相关推荐
NTFS流文件管理 NTFS流文件管理 ntfsstreamseditor ntfsstreamseditor
资源来自pypi官网。 资源全名:hopeit.redis-streams-0.8.3.tar.gz
找不到org.reactivestreams.Publisher的类文件,针对使用jar的时候缺少文件,包含RxJava.jar和reactive-streams.jar两个包。这个Rejava.jar才能使用
在Ntfs文件系统中,一些恶意程序可能隐藏在“Ntfs数据流”这样的特殊"文件"中,一般的文件管理器和工具不能发现和处理;Ntfs数据流处理工具NtfsStreamsEditor提供了强大的搜索扫描能力,帮助找出危险所在;同时Ntfs...
ntfs检测数据流,用于ntfs隐写。 在NTFS文件系统中存在着NTFS交换...每一个文件,都有着主文件流和非主文件流,主文件流能够直接看到;而非主文件流寄宿于主文件流中,无法直接读取,这个非主文件流就是NTFS交换数据流。
streams也是一个查找文件是否有数据流文件寄存的,但它查找的效果没labs强,不过这个文件可以删除文件数据流的功能
赠送jar包:reactive-streams-1.0.3.jar; 赠送原API文档:reactive-streams-1.0.3-javadoc.jar; 赠送源代码:reactive-streams-1.0.3-sources.jar; 赠送Maven依赖信息文件:reactive-streams-1.0.3.pom; 包含...
Java Methods-Streams and Files.ppt
赠送jar包:reactive-streams-1.0.3.jar; 赠送原API文档:reactive-streams-1.0.3-javadoc.jar; 赠送源代码:reactive-streams-1.0.3-sources.jar; 赠送Maven依赖信息文件:reactive-streams-1.0.3.pom; 包含...
使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用Kafka...
在Ntfs文件系统中,一些恶意程序可能隐藏在“Ntfs数据流”这样的特殊"文件"中,一般的文件管理器和工具不能发现和处理;Ntfs数据流处理工具NtfsStreamsEditor提供了强大的搜索扫描能力,帮助找出危险所在;同时Ntfs...
Get an easy introduction to reactive streams in Java to handle concurrency, data streams, and the propagation of change in today's applications. This compact book includes in-depth introductions to ...
直接从文件或文本中解析HLS流和自适应HLS流列表; (Todo)将HLS流下载到可播放的文件; (Todo [可能不会添加]。)创建HLS流和自适应HLS流列表(带有可选键)。 示范课程示范 using HLS.Download.Models; class...
NTFS流隐藏文件
reactive-streams-1.0.3.jar
ntfsstreamseditor是对NTFS分区的文件的数据流进行编辑,删除,附加,备份和还原的强大工具。
解决程序缺少streams.h文件的问题!
包括网上收集的一些oraclc streams的配置资料,以及自己的一些关于数据库读写分离、oracle streams的总结,还有oracle streams主从数据库的配置。
python库。 资源全名:functional-streams-1.0.0.tar.gz
前端开源库-web-streams-polyfill基于whatwg spec参考实现的web流polyfill、web流