ファイルに書き込むには (fwrite)

Java

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

String data = ...;
Writer writer = new OutputStreamWriter(new FileOutputStream(path));
writer.write(data);
writer.close();

PHP

$fh = fopen('./foo.txt', 'w');
fwrite($fh, $data);
fclose($fh);

fopen の2つ目の引数は mode を指定する。

fwrite の代わりに fputs でもまったく同じ。

fwrite 関数 | PHP Manual
http://php.net/manual/ja/function.fwrite.php

fputs 関数 | PHP Manual
http://php.net/manual/ja/function.fputs.php

Python

fh = open('./foo.txt', 'w')
fh.write(data)
fh.close()

または

with open('./foo.txt', 'w') as fh:
    fh.write(data)

open の2つ目の引数は mode を指定する。

Ruby

list = ... # 文字列の配列
File.open('./hoge.txt', 'w') do |fh|
  list.each do |line|
    fh.write(line + "\n")
  end
end

open の2つ目の引数は mode を指定する。

putswrite の違い

write は出力だけを行うプリミティブなメソッドで、他のほとんどの出力メソッドは最終的に write メソッドを呼び出している。

puts は任意の数の引数を受け付け、各引数ごとに、文字列に変換して後ろに改行を付けたものを出力する。文字列に変換した結果最後に改行が付いていれば、さらに改行を付けることはしない。

例:

puts "a", "b\n", "c", "d\n\n", "e"

出力結果:

a
b
c
d

e

引数に配列が含まれる場合は、その要素ごとに出力する。改行を付けるかどうかのルールは同じ。

例:

puts "a", ["b1", "b2"], ["c1\n", "c2"]

出力結果:

a
b1
b2
c1
c2

nil の場合は空行を出力する。

例:

puts "a", nil, "b"

出力結果:

a

b

文字列でないものを渡した場合は、to_s で文字列にした上で出力する。

例:

puts({'a' => 1})

出力結果:

{"a"=>1}

Perl

open(FH, '>', './foo.txt') or die;
print FH $data;
close(FH);

または

open(my $fh, '>', './foo.txt') or die;
print $fh $data;
close($fh);

ほとんどの言語で共通の説明

modeを指定する文字列

'w'
通常の書き込みモードでのオープンで、すでにファイルが存在していれば、最初に大きさを0にする。
'a'
追記モードでのオープンで、すでにファイルが存在していれば、最初にポインタをファイルの最後に移動する。
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク