/**
  *
  * CSVに1行書き加える
  *
  * @access    public
  * @param     array     $record     書き加える行データ(配列)
  * @param     string    $nlChar     改行文字
  * @param     bool      $speedUp    高速化のためにエラーチェックをスキップする場合にTRUE
  * @return    bool                  成功した場合にTRUE 、失敗した場合にFALSE
  *
  */
 public function addRow($record, $nlChar = NULL, $speedUp = FALSE)
 {
     if (!$speedUp) {
         // 例外処理
         $check = array(array($record, AOKI_VARTYPE_ARRAY));
         $this->chkArgs(__CLASS__, __METHOD__, $check);
         if (empty($this->_fileHandle) || !is_resource($this->_fileHandle)) {
             // ファイル未OPEN
             throw exception(__CLASS__, __METHOD__, AOKI_OTHER, "File not opend");
         } elseif (fseek($this->_fileHandle, 0, SEEK_END)) {
             // ファイルポインタ移動失敗
             throw exception(__CLASS__, __METHOD__, AOKI_OTHER, "Failed to move pointer");
         }
     } else {
         fseek($this->_fileHandle, 0, SEEK_END);
     }
     // 改行コードの決定
     $nlChar = is_null($nlChar) ? $this->nlChar : $nlChar;
     // レコードの作成
     foreach ($record as $k => $v) {
         if (preg_match('/[",\\r\\n]/', $v)) {
             // レコード内改行コードをLFで統一
             $v = preg_replace("/\r\n|\r/", "\n", $v);
             // " でくくる
             $v = sprintf('"%s"', str_replace('"', '""', $v));
             // 書き換え
             $record[$k] = $v;
         }
     }
     $line = implode($this->delimiter, $record) . $nlChar;
     if ($this->charset) {
         $line = string_multibyte::convertEncoding($line, $this->charset);
     }
     if (($len = strlen($line)) > $this->_maxLength) {
         $this->_maxLength = $len;
     }
     return (bool) fwrite($this->_fileHandle, $line);
 }
 /**
  *
  * 入力値定義 -size- チェック
  *
  * @access    public
  * @param     mixed       $value      検査対象のリクエスト値
  * @param     array       $params     属性値配列:array("min" => 下限値, "max" => 上限値)
  * @return    bool        $valueが定義に沿っていればTRUE
  *
  */
 public static function checkSize($value, $params = NULL)
 {
     if (empty($params["charset"])) {
         $len = strlen($value);
     } else {
         $tmp = string_multibyte::convertEncoding($value, $params["charset"], JAZZ_INNER_ENCODING);
         $len = strlen($tmp);
     }
     return !strlen($value) ? TRUE : self::_checkRange($len, $params);
 }