ストリームメソッド
入力ストリームと出力ストリームは,ストレージメカニズムからバイトを読み書きするために要求されるストリーム操作を表すストリームメソッドを使って開かれる.ストリームメソッドを使うことで,ファイル,子プロセス,Webサーバ,バイトのインメモリリスト等のストレージメカニズムやデータソースから読み書きすることが可能になる.ストリームメソッドは圧縮や暗号化といったような変換も実行できる.たとえば,ユーザはストリームメソッドを使うことで圧縮されたファイルを開き,解凍されたコンテンツを読むことができる.ストリームへの操作では,物理メモリに適合しないような非常に大きいファイルへの操作も行える.
Wolframシステムは,ファイル,Webサーバ,文字列,外部コマンドからの読み書きのような一般的なニーズに応えられるストリームメソッドを提供している.また,に新しいストリームメソッドを加えることもできる.
読み書きのためにストリームを開いたら,Methodオプションを使って自分でストリームメソッドを指定することもできれば,Wolframシステムに,ストリーム名から自動的にストリームメソッドを選ばせることもできる.
In[1]:=1

✖
https://wolfram.com/xid/0ecs1k5f6pg-e9qpb7
Out[2]=2

In[3]:=3

✖
https://wolfram.com/xid/0ecs1k5f6pg-ikveh3
Out[3]=3

In[4]:=4

✖
https://wolfram.com/xid/0ecs1k5f6pg-dhf84z
Out[4]=4

次はMethodオプションでストリームメソッドを選んで,Webサーバからストリームを開く:
In[5]:=5

✖
https://wolfram.com/xid/0ecs1k5f6pg-hkk0m8
Out[6]=6

In[7]:=7

✖
https://wolfram.com/xid/0ecs1k5f6pg-b368uc
Out[7]=7

In[8]:=8

✖
https://wolfram.com/xid/0ecs1k5f6pg-c0vjkt
Out[8]=8

In[9]:=9

✖
https://wolfram.com/xid/0ecs1k5f6pg-jid3us
In[10]:=10

✖
https://wolfram.com/xid/0ecs1k5f6pg-jur6ve
Out[10]=10

In[11]:=11

✖
https://wolfram.com/xid/0ecs1k5f6pg-mdc9qd
Out[11]=11

In[12]:=12

✖
https://wolfram.com/xid/0ecs1k5f6pg-hnqb2n
In[13]:=13

✖
https://wolfram.com/xid/0ecs1k5f6pg-fby35p
In[14]:=14

✖
https://wolfram.com/xid/0ecs1k5f6pg-g701ik
Out[14]=14

In[15]:=15

✖
https://wolfram.com/xid/0ecs1k5f6pg-eqcdw
Out[15]=15

In[16]:=16

✖
https://wolfram.com/xid/0ecs1k5f6pg-vx3it
Out[16]=16

In[17]:=17

✖
https://wolfram.com/xid/0ecs1k5f6pg-b00ha2

In[21]:=21

✖
https://wolfram.com/xid/0ecs1k5f6pg-fk4y6v
Out[23]=23

In[24]:=24

✖
https://wolfram.com/xid/0ecs1k5f6pg-p5ddg4
Out[24]=24

In[26]:=26

✖
https://wolfram.com/xid/0ecs1k5f6pg-bp92wu
Out[26]=26

ストリームメソッドがファイルの内容を変換するため,内容はReadが返すものとは異なっている:
In[27]:=27

✖
https://wolfram.com/xid/0ecs1k5f6pg-eef2
Out[27]=27

In[28]:=28

✖
https://wolfram.com/xid/0ecs1k5f6pg-j98gk
Out[28]=28

In[30]:=30

✖
https://wolfram.com/xid/0ecs1k5f6pg-ef1xm8
Out[30]=30

In[31]:=31

✖
https://wolfram.com/xid/0ecs1k5f6pg-e0x19z
Out[31]=31

In[32]:=32

✖
https://wolfram.com/xid/0ecs1k5f6pg-cxrvwt
Out[32]=32

In[33]:=33

✖
https://wolfram.com/xid/0ecs1k5f6pg-jkicq8
Out[33]=33

In[34]:=34

✖
https://wolfram.com/xid/0ecs1k5f6pg-eksyl
Out[34]=34

In[35]:=35

✖
https://wolfram.com/xid/0ecs1k5f6pg-etsddg
Out[35]=35

In[36]:=36

✖
https://wolfram.com/xid/0ecs1k5f6pg-jielme