PowerShell ストリームとしてファイルを読み込む方法

PowerShell

この記事では、PowerShellでインターネット上のファイルをストリームとして読み込む方法について説明します。

ストリームとしてファイルを読み込む

前回、WebClientクラスのDownloadFileを使用して、インターネット上のファイルをダウンロードする方法について説明しました。

PowerShell ファイルをダウンロードする方法

WebClientクラスには、他にも、ストリームとしてファイルの内容を読み込む機能があります。

WebサイトのHTMLファイルの内容をストリームとして読み込むサンプルです。

$url = "https://example.com/index.html"
$webClient = New-Object Net.WebClient
$stream = $webClient.OpenRead($url)

$encode = [Text.Encoding]::GetEncoding("Shift_Jis")
$reader = New-Object IO.StreamReader($stream, $encode)
$content = $reader.ReadToEnd()

$reader.Close()
$stream.Close()
return $content

実行します。

Powershel

では、スクリプトについて説明します。
3行目の、webClientクラスのOpenReadメソッドは、引数にしていたURLのデータを取得するためのストリームを返します。
5行目は、読み込むエンコードを指定します。今回は「Shift_Jis」を指定しています。
6行目で、StreamReaderオブジェクトを生成しています。
7行目は、ReadToEndメソッドで、ファイルの内容をすべて読み込んでいます。
9、10行目で、StreamReader、Streamをクローズしています。
11行目で取得した文字列を返しています。

まとめ

今回は、PowerShellでインターネット上のファイルをストリームとして読み込む方法について説明しました。

 

タイトルとURLをコピーしました