流式方法

简介
使用流式方法打开输入和输出流. 流式方法提取读入和编写来自那些字节源的字节所需要的流操作. 这使得从数据源读入或编写,以及诸如文件、子处理、网页服务器以及字节的内存列表的存储机制成为可能. 流式方法还可以对压缩或加密等进行翻译. 例如,流式方法可允许用户打开一个压缩文件并读取未压缩的文件. 对流的操作允许对不适合于物理内存的很大的文件进行操作.
Wolfram 系统对大多数常用需求提供流式方法,例如从文件、网页服务器、字符串和外部命令中读取和编写. 在 Wolfram 系统中还可以添加新的流式方法.
使用流式方法
当打开一个流便于读取或编写,你可以用 Method 选项指定流式方法,或 Wolfram 系统可以从流名称中自动选择流式方法.
以下从一个网页服务器打开一个流,根据流名称选择流式方法:
以下从一个网页服务器打开一个流,用 Method 选项选择流式方法:
以下从网页服务器直接加载 Wolfram 系统程序包,根据流的名称选择流式方法:
以下从网页服务器直接加载 Wolfram 系统程序包,使用显式的已打开的输入流:
输入流式方法
你可以在 Wolfram 系统中添加一种新的输入流式方法. 如果你想从一个新的存储介质中读取,或你想按读取时的状态传递数据,诸如解压缩一个文件,这将很有用.
定义一个流式方法,它的输入不是来自于文件,而是来自于字节的列表,方法选项定义为 "Bytes"
以下验证这个新方法:
以下定义一种流式方法,对读取的流进行循环加密. 加密性的强解密可用同样的方式:
测试该方法:首先编写一个加密测试文件,然后使用新方法读入:
文件内容不同于 Read 返回的,因为流式方法对其进行了翻译:
输出流式方法
你可以在 Wolfram 系统中添加新的输出流式方法. 如果你想写入一个新的存储介质,或你想按编写时的状态传递数据,诸如压缩一个文件,这将很有用.
以下定义了最小的流式方法,输出写入的字节数:
以下是测试新的方法: