2
ファイルをエクスポートするライブラリがありますが、ファイルの内容をキャプチャしたいと思います。私は図書館にライターを渡し、ライターがファイルに書いたものを読むことができるようにしたいと思います。最終的に私はこのファイルの書き込みをスキップするライブラリを増やしたいと思います。 これはio.Copyまたはio.Pipeで可能ですか?io.Writerからの内容の読み取り
ライブラリコードは*ファイルを作成し、このハンドルをio.Writerとして使用します。 io.Copyを使用しようとしましたが、0バイトしか読み込まれませんでした。
func TestFileCopy(t *testing.T) {
codeFile, err := os.Create("test.txt")
if err != nil {
t.Error(err)
}
defer codeFile.Close()
codeFile.WriteString("Hello World")
n, err := io.Copy(os.Stdout, codeFile)
if err != nil {
t.Error(err)
}
log.Println(n, "bytes")
}
この例ではコンソールに出力したいので、2番目のライターとして 'os.Stdout'を渡すことができます:' w:= io.MultiWriter(codeFile、os.Stdout) '。 – icza
'io.Multiwriter'のドキュメンテーションの例は、使い方を明確にしています。最初に 'io.MultiWriter'を使ってすべてのライターを設定し、' io.Copy'を呼び出します。ですから、 'io.MultiWriter(codeFile、&buf、os.Stdout)' – Ravi