top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_641

Ruby:◇ファイル操作:ファイル出力とディレクトリ操作 ・・・ 【Ruby:22.5歩目】

 2009-01-21
第22.5歩
 ◇ファイル出力とディレクトリ操作

  ※遅々としていますが、やめたわけではありません。お久しぶり・・・
   ・(前回はこちら

  追記に ▼

※この連載は、はじめて「Ruby」に取り組んだmetaboyが、
 PHPなどとの違いを考慮しつつ、ゆっくりと
 良書「はじめてのRubyプログラミング」を基に
 学んでゆく、詳細な記録です。
                      (本日の参照:215頁


FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ


more  ◇ファイル出力とディレクトリ操作
  【ミッション】
 ●ファイルの出力 テキストファイルに書込


 ◆テキストファイルへの書込
  ※基本の操作
   ・任意のテキストファイルがあれば
    一度内容を削除してから、書込み
   ・なければ新しく作成してから、書込み

File.open('outstr.txt','w'){|f|
f.write '書込みされる文字列' #=> 書込みされる文字列
}
 >>確認した
   ・このように書き込まれた
    このように書き込まれた

 ◆ファイルオープンとモード
  ※ファイルに書き込むためには、
   「書込みモード」でファイルをオープンする必要がある

   ◇File.open メソッドの利用
    ・「ファイル名称」と「モード」の指定
     ・モード
       [ 'r' ]・・・読込モード
       [ 'w' ]・・・書込モード
             ※ファイルを新規に作成
              すでにある場合は、内容を
              空にしてオープン
       [ 'a' ]・・・書込モード
             ※既存の内容の末尾に
              追加書込み
              ファイルなければ新規作成
              して書込み

 ◆ファイルコピー
  ※ファイルの入力処理と出力処理の組み合わせで実現
text = File.read('change.txt') # すでにあるファイルの内容を読み込み
File.open('outnew.txt','w'){|f|
f.write text #=> 読み込んである文字列
}
 >>確認した

  【ミッション】
 ●ディレクトリ内のファイル一覧を取得し内容を表示する


 ◆ファイル一覧を取得表示
   ◇Dir.glob メソッドの利用
    ・ファイル一覧を取得でき、ファイル名の配列を
     返してくれる
filenames = Dir.glob('./*.txt') # 現在のディレクトリのテキストファイル一覧
p filenames #=> ["./change.txt", "./outnew.txt", "./outstr.txt"]
 >>確認した
     ▼(順番に行ごとに表示するには)
filenames = Dir.glob('./*.txt') # 現在のディレクトリのテキストファイル一覧
filenames.each do |filename|
puts filename
end
 >>確認した

    それでは、この中身をすべて書き出す

 ◆ファイル一覧すべてのファイルの内容を表示
   ◇Fire.read メソッドの利用
    ・前記ファイル一覧のファイル名を順に渡す
filenames = Dir.glob('./*.txt') # 現在のディレクトリのテキストファイル一覧
filenames.each do |filename|
text = File.read(filename)
puts text
end
 >>確認した

    ※なお、記述は以下のように省略できる
Dir.glob('./*.txt').each do |filename|
puts = File.read(filename)
end
 >>確認した

+++++++++++++
PHPだと?
+++++++++++++
 ・まずファイルの書込
$tar_file = "outstr.txt";
$fp_in = fopen($tar_file,'w');
if (!$fp_in) {
}else{
fwrite($fp,'書き込む文字列');
}


 ・fopen のオブションも確認しておく
   ◇fopen メソッドの利用(PHP)
     ・モード
       [ 'r' ]・・・読込モード、
             ※ファイルポインタはファイルの先頭
       [ 'r+' ]・・・読込/書込モード、
             ※ファイルポインタはファイルの先頭
       [ 'w' ]・・・書込(のみ)モード
             ※ファイルを新規に作成
              すでにある場合は、内容を
              空にしてオープン
       [ 'w+' ]・・・読込/書込モード
             ※ファイルを新規に作成
              すでにある場合は、内容を
              空にしてオープン
       [ 'a' ]・・・書込モード
             ※ファイルポインタはファイルの終端
              ファイルなければ新規作成して書込み
       [ 'a+' ]・・・読込/書込モード
             ※ファイルポインタはファイルの終端
              ファイルなければ新規作成して書込み
       [ 'x' ]・・・書込モード
             ※ファイルポインタはファイルの先頭
              すでにある場合は、fopen()失敗
              存在しない場合には新規作成
              ローカルファイルに対してのみ有効
       [ 'x+' ]・・・読込/書込モード
             ※ファイルポインタはファイルの先頭
              すでにある場合は、fopen()失敗
              ローカルファイルに対してのみ有効

 ・ファイル一覧取得
if( $handle = opendir( $dir ) ){  // ディレクトリハンドルを獲得
$tree = array();
while( false !== $file = readdir( $handle ) ){ // ファイル名獲得
if( $file != "." && $file != ".." ){
if( is_dir( $dir."/".$file ) ){
}else{
$tree[ $file ] = $dir."/".$file;
if(file_exists($tree[ $file ])){
# 処理
}
}
}
}
closedir( $handle ); // ディレクトリハンドルを閉じる
}

     こんな感じかな。

Ruby って
・(ほんと)シンプルでスマート!
commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/641-a9058cc2
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。