データベースからデータを読み取り、それをテキストファイルに保存する必要があります。
Rubyでどうすればいいの? Rubyにファイル管理システムはありますか?
以下を探していますか?
File.open(yourfile, 'w') { |file| file.write("your text") }
あなたはショートバージョンを使用することができます:
File.write('/path/to/file', 'Some glorious content')
書き込まれた長さを返します。詳細とオプションについては :: write を参照してください。
ファイルが既に存在する場合は、ファイルに追加するには
File.write('/path/to/file', 'Some glorious content', mode: 'a')
これはほとんどの場合推奨される方法です。
File.open(yourfile, 'w') { |file| file.write("your text") }
ブロックがFile.open
に渡されると、Fileオブジェクトはブロックの終了時に自動的に閉じられます。
File.open
にブロックを渡さない場合は、ファイルが正しく閉じられ、内容がfileに書き込まれたことを確認する必要があります。
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
ドキュメント :にあります。
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
File.open("out.txt", '<OPTION>') {|f| f.write("write your stuff here") }
<OPTION>
のオプションは次のとおりです。
r
- 読み取り専用ファイルが存在している必要があります。
w
- 書き込み用の空のファイルを作成します。
a
- ファイルに追加します。ファイルが存在しない場合は作成されます。
r+
- 読み取りと書き込みの両方で更新用にファイルを開きます。ファイルが存在している必要があります。
w+
- 読み書き両方のために空のファイルを作成します。
a+
- 読み込みと追加のためにファイルを開きます。ファイルが存在しない場合は作成されます。
あなたの場合、w
が望ましいです。
例によって学ぶ私達のそれらのために...
このようにファイルにテキストを書く:
IO.write('/tmp/msg.txt', 'hi')
ボーナス情報...
このように読み返す
IO.read('/tmp/msg.txt')
頻繁に、私は私のクリップボードにファイルを読みたいです***
Clipboard.copy IO.read('/tmp/msg.txt')
そして他の時には、私は私のクリップボードにあるものをファイルに書きたいです***
IO.write('/tmp/msg.txt', Clipboard.paste)
***あなたはクリップボードgemがインストールされていると仮定します
参照してください: https://rubygems.org/gems/clipboard
ファイルの以前の内容を破棄するには、ファイルに新しい文字列を書き込みます。
open('myfile.txt', 'w') { |f| f << "some text or data structures..." }
古い内容を上書きせずにファイルに追加するには
open('myfile.txt', "a") { |f| f << 'I am appended string' }