当前位置: 首页>>代码示例>>C#>>正文


C# System.IO.StringReader.Peek方法代码示例

本文整理汇总了C#中System.IO.StringReader.Peek方法的典型用法代码示例。如果您正苦于以下问题:C# System.IO.StringReader.Peek方法的具体用法?C# System.IO.StringReader.Peek怎么用?C# System.IO.StringReader.Peek使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.IO.StringReader的用法示例。


在下文中一共展示了System.IO.StringReader.Peek方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Read

        //────────────────────────────────────────
        /// <summary>
        /// Listを作成します。
        /// 
        /// セルのデータ型は全て string です。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns></returns>
        public List<string[]> Read(
            string string_Csv
            )
        {
            //
            // テーブルを作成します。
            //
            List<string[]> list_ArrayString = new List<string[]>();

            System.IO.StringReader reader = new System.IO.StringReader(string_Csv);
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            // CSVを解析して、テーブル形式で格納。
            {
                int nRowIndex = 0;
                while (-1 < reader.Peek())
                {
                    string sLine = reader.ReadLine();

                    //
                    // 配列の返却値を、ダイレクトに渡します。
                    //
                    string[] sFields = csvParser.UnescapeLineToFieldList(sLine, this.CharSeparator).ToArray();
                    list_ArrayString.Add(sFields);

                    nRowIndex++;
                }
            }

            // ストリームを閉じます。
            reader.Close();

            return list_ArrayString;
        }
开发者ID:muzudho,项目名称:XtA,代码行数:42,代码来源:CsvTo_ListArrayImpl.cs

示例2: Read

        //────────────────────────────────────────
        /// <summary>
        /// Listを作成します。
        /// 
        /// セルのデータ型は全て string です。
        /// 
        /// 【仕様変更 2011-03-01】空行、スペースだけの行は、トークンに入れません。
        /// 【仕様変更 2011-03-01】行の最後が「,」で終わる場合、最後のトークンは空白が入っているのではなく、追加しません。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns></returns>
        public List<string> Read(
            string string_Csv
            )
        {
            // テーブルを作成します。
            List<string> list_String = new List<string>();

            System.IO.StringReader reader = new System.IO.StringReader(string_Csv);
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            // CSVを解析して、テーブル形式で格納。
            {
                string[] fields;
                while (-1 < reader.Peek())
                {
                    string sLine = reader.ReadLine();
                    // 空行、スペースだけの行を拾うこともある。

                    if ("" != sLine.Trim())
                    {
                        //
                        // 「空行、スペースだけの行」ではない場合。

                        fields = csvParser.UnescapeLineToFieldList(sLine, this.CharSeparator).ToArray();

                        //essageBox.Show("ttbwIndex=[" + ttbwIndex + "]行目ループ", "デバッグ2");

                        for (int nColumnIndex = 0; nColumnIndex < fields.Length; nColumnIndex++)
                        {
                            if (nColumnIndex + 1 <= fields.Length && "" == fields[nColumnIndex].Trim())
                            {
                                // 行の最後が「,」で終わる場合、最後のトークンは空白が入っているのではなく、追加しません。
                                break;
                            }
                            list_String.Add(fields[nColumnIndex]);
                        }
                    }

                }
            }

            // ストリームを閉じます。
            reader.Close();

            return list_String;
        }
开发者ID:muzudho,项目名称:XtA,代码行数:57,代码来源:CsvTo_ListImpl.cs

示例3: button1_Click

        private void button1_Click(object sender, EventArgs e)
        {
            //TextBox1�ɓ��͂���Ă��镶���񂩂��s���“ǂݍ���
            //������(TextBox1�ɓ��͂��ꂽ������)����StringReader�C���X�^���X��쐬
            System.IO.StringReader rs = new System.IO.StringReader(txt_in.Text);
            string tmp = string.Empty;
            string read = string.Empty;
            //�X�g���[���̖��[�܂ŌJ��Ԃ�
            while (rs.Peek() > -1){
                //��s�ǂݍ���ŕ\������
                read = rs.ReadLine();
                if (read.Length > 0){
                    if ((string.IsNullOrEmpty(this.del_dbms_output(read)) == false)){
                        tmp += del_dbms_output(read) + "\r\n";
                    }
                }

            }
            rs.Close();
            txt_out.Text = tmp;
        }
开发者ID:akira345,项目名称:Del_DBMS_OUTPUT,代码行数:21,代码来源:Form1.cs

示例4: Verify

        public static bool Verify(byte[] emailData, Signature signature)
        {
            string emailDatastr = Encoding.ASCII.GetString(emailData,0,emailData.Length);
            string header = emailDatastr.Substring(0, emailDatastr.IndexOf("\r\n\r\n"));
            header = Parser.Unfold(header);
            header = SelectFieldsAndCanonicalize(header, signature);
            string body = emailDatastr.Substring(Regex.Match(emailDatastr, @"(?<=\r?\n\r?\n).").Index - 1);
            System.IO.StringReader sr = new System.IO.StringReader(body);
            StringBuilder sb = new StringBuilder();
            while (sr.Peek() != -1)
                sb.Append(string.Concat(Canonicalizer.Canonicalize(sr.ReadLine(), signature.CanonicalizationAlgorithm),Tokenizer.NewLine));
            byte[] canonicalized = Encoding.ASCII.GetBytes(header + sb.ToString().TrimEnd('\r', '\n') + "\r\n");

            SHA1Managed sha = new SHA1Managed();
            byte[] hash = sha.ComputeHash(canonicalized);

            PublicKeyRecord record = signature.GetPublicKeyRecord();

            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            RSAParameters rsap = new RSAParameters();
            FillRSAPublicKeyParameters(record.KeyData, ref rsap);
            rsa.ImportParameters(rsap);
            RSAPKCS1SignatureDeformatter RSADeformatter = new RSAPKCS1SignatureDeformatter(rsa);
            RSADeformatter.SetHashAlgorithm("SHA1");

            return RSADeformatter.VerifySignature(hash, signature.Data);
        }
开发者ID:JBTech,项目名称:MailSystem.NET,代码行数:27,代码来源:DomainKeys.Signature.cs

示例5: Perform

        public MemoryGloballist Perform(
            Expression_Node_Filepath expr_Fpath_GloballistText,
            Encoding encoding,
            Log_Reports log_Reports,
            string sRunningHintName
            )
        {
            Log_Method pg_Method = new Log_MethodImpl(0);
            pg_Method.BeginMethod(Info_Operating.Name_Library, this, "Perform",log_Reports);

            MemoryGloballist moGl = new MemoryGloballistImpl();

            string sFpatha = expr_Fpath_GloballistText.Execute4_OnExpressionString(
                EnumHitcount.Unconstraint, log_Reports);//絶対ファイルパス
            if (!log_Reports.Successful)
            {
                // 既エラー。
                goto gt_EndMethod;
            }

            if ("" == sFpatha)
            {
                // グローバルリスト ファイルへのパスが空文字列だった場合
                if (log_Reports.CanCreateReport)
                {
                    Log_RecordReports r = log_Reports.BeginCreateReport(EnumReport.Error);
                    r.SetTitle("▲エラー080011!", pg_Method);
                    r.Message = "グローバルリスト ファイルへのパスを指定してください。";
                    log_Reports.EndCreateReport();
                }
            }

            string sText1;
            if (log_Reports.Successful)
            {
                // 正常時

                // テキスト読取り
                try
                {
                    sText1 = System.IO.File.ReadAllText(sFpatha, encoding);
                }
                catch(Exception ex)
                {
                    sText1 = null;
                    if (log_Reports.CanCreateReport)
                    {
                        Log_RecordReports r = log_Reports.BeginCreateReport(EnumReport.Error);
                        r.SetTitle("▲エラー0800023!", pg_Method);

                        StringBuilder t = new StringBuilder();
                        t.Append("ファイルの読み取りに失敗しました。");
                        t.Append(Environment.NewLine);
                        t.Append(Environment.NewLine);
                        t.Append("ファイルパス=[");
                        t.Append(sFpatha);
                        t.Append("]");
                        t.Append(Environment.NewLine);
                        t.Append(Environment.NewLine);
                        t.Append("エンコーディング=[");
                        t.Append(encoding.ToString());
                        t.Append("]");
                        t.Append(Environment.NewLine);
                        t.Append(Environment.NewLine);
                        t.Append("例外:[");
                        t.Append(ex.GetType().Name);
                        t.Append("]:");
                        t.Append(ex.Message);

                        r.Message = t.ToString();

                        log_Reports.EndCreateReport();
                    }
                }
            }
            else
            {
                // エラー時
                sText1 = null;
            }

            if (log_Reports.Successful)
            {
                // 正常時

                // テキストをストリーム化します。
                System.IO.StringReader reader = new System.IO.StringReader(sText1);

                while (-1 < reader.Peek())
                {
                    string sLine = reader.ReadLine();

                    string parent_SNode = sFpatha;
                    MemoryGloballistLine modelOfGlLine = this.Sub_ParseLine(sLine, log_Reports, parent_SNode);

                    if (log_Reports.Successful)
                    {
                        // 正常時

                        moGl.AddLine(modelOfGlLine);
//.........这里部分代码省略.........
开发者ID:muzudho,项目名称:CSVExE,代码行数:101,代码来源:GloballistAction00001.cs

示例6: Read

        //────────────────────────────────────────
        /// <summary>
        /// TODO:「,」「"」に対応したい。
        /// 
        /// 
        /// 縦と横が逆のテーブル。
        /// 
        /// CSVを読取り、テーブルにして返します。
        /// 
        /// 
        /// SRS仕様の実装状況
        /// ここでは、先頭行を[0]行目と数えるものとします。
        /// (1)CSVの[0]行目は列名です。
        /// (2)CSVの[1]行目は型名です。
        /// (3)CSVの[2]行目はコメントです。
        /// 
        /// (4)データ・テーブル部で、0列目に「EOF」と入っていれば終了。大文字・小文字は区別せず。
        ///    それ以降に、コメントのようなデータが入力されていることがあるが、フィールドの型に一致しないことがあるので無視。
        ///    TODO EOF以降の行も、コメントとして残したい。
        /// 
        /// (5)列名にENDがある場合、その手前までの列が有効データです。
        ///    END以降の列は無視します。
        ///    TODO END以降の行も、コメントとして残したい。
        /// 
        /// (6)int型として指定されているフィールドのデータ・テーブル部に空欄があった場合、DBNull(データベース用のヌル)とします。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns>列名情報も含むテーブル。列の型は文字列型とします。</returns>
        public Table_Humaninput Read(
            string string_Csv,
            Request_ReadsTable forTable_Request,
            Format_Table_Humaninput forTable_Format,
            Log_Reports log_Reports
            )
        {
            Log_Method log_Method = new Log_MethodImpl();
            log_Method.BeginMethod(Info_Table.Name_Library, this, "Read",log_Reports);

            //
            //
            //
            //
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            Table_Humaninput xenonTable = new Table_HumaninputImpl(
                forTable_Request.Name_PutToTable, forTable_Request.Expression_Filepath, forTable_Request.Expression_Filepath.Cur_Configuration );
            xenonTable.Tableunit = forTable_Request.Tableunit;
            xenonTable.Typedata = forTable_Request.Typedata;
            xenonTable.IsDatebackupActivated = forTable_Request.IsDatebackupActivated;
            xenonTable.Format_Table_Humaninput = forTable_Format;

            //
            // 一旦、テーブルを全て読み込みます。
            //
            List<List<string>> lines = new List<List<string>>();

            {
                // CSVテキストを読み込み、型とデータのバッファーを作成します。
                System.IO.StringReader reader = new System.IO.StringReader(string_Csv);

                while (-1 < reader.Peek())
                {
                    string sLine = reader.ReadLine();
                    List<string> tokens = new List<string>();

                    string[] sFields;
                    sFields = csvParser.UnescapeLineToFieldList(sLine, this.charSeparator).ToArray();

                    int nColumnIndex = 0;
                    foreach (string sToken in sFields)
                    {
                        if (nColumnIndex == 0 && ToCsv_Table_Humaninput_RowColRegularImpl.S_END == sToken.Trim().ToUpper())
                        {
                            // 1列目にENDがある場合、その手前までの列が有効データです。
                            // END以降の行は無視します。
                            goto row_end;
                        }

                        tokens.Add(sToken);

                        nColumnIndex++;
                    }
                    lines.Add(tokens);
                }
            row_end:

                // ストリームを閉じます。
                reader.Close();
            }

            //
            // 型定義部
            //
            // (※NO,ID,EXPL,NAME など、フィールドの定義を持つテーブル)
            //
            RecordFielddefinition recordFielddefinition = new RecordFielddefinitionImpl();

            //
            // データ・テーブル部
            //
//.........这里部分代码省略.........
开发者ID:muzudho,项目名称:XtA,代码行数:101,代码来源:CsvTo_Table_Humaninput_ReverseImpl.cs

示例7: LoadFromString

        public void LoadFromString(string s)
        {
            System.IO.StringReader str = new System.IO.StringReader(s);
            List<byte> byteList = new List<byte>();

            while (str.Peek() >= 0)
                byteList.Add((byte)str.Read());

            LoadFromByteList(byteList);
        }
开发者ID:NikMifsud,项目名称:GreatSiege,代码行数:10,代码来源:Data.cs

示例8: _count

 private object _count(INakoFuncCallInfo info)
 {
     object ar = info.StackPop();
     if (ar is NakoVarArray)
     {
         NakoVarArray arr = (NakoVarArray)ar;
         return arr.Count;
     }else if(ar is string){
         int count = 0;
         System.IO.StringReader sr = new System.IO.StringReader((string)ar);
         while(sr.Peek()>=0){
             sr.ReadLine();
             count++;
         }
         sr.Close();
         return count;
     }
     return 0;//TODO:Exception??
 }
开发者ID:wnoguchi,项目名称:nadesiko2,代码行数:19,代码来源:NakoPluginArray.cs

示例9: Read

        //────────────────────────────────────────
        /// <summary>
        /// DataTableを作成します。
        /// 
        /// セルのデータ型は全て string です。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns></returns>
        public DataTable Read(
            string string_Csv
            )
        {
            // テーブルを作成します。
            DataTable dataTable = new DataTable();

            System.IO.StringReader reader = new System.IO.StringReader(string_Csv);

            //
            // CSVを解析して、テーブル形式で格納。
            //

            int index_Row = 0;
            string[] array_Field;
            DataRow datarow;
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            if (-1 < reader.Peek())
            {
                // 1行ずつ読み取ります。

                //
                // 0 行目の読取。 列名データが入っている行です。
                //

                // 読み取った返却値を、変数に入れ直さずにスプリット。
                array_Field = csvParser.UnescapeLineToFieldList(reader.ReadLine(), this.CharSeparator).ToArray();

                // 行を作成します。
                datarow = dataTable.NewRow();

                int indexColumn = 0;
                while (indexColumn < array_Field.Length)
                {
                    // 列情報を追加します。 型は文字列型とします。
                    dataTable.Columns.Add(array_Field[indexColumn], typeof(string));

                    // データとしても早速格納します。
                    datarow[indexColumn] = array_Field[indexColumn];

                    indexColumn++;
                }

                dataTable.Rows.Add(datarow);
                index_Row++;

                //
                // 1行目以降の読取。
                //
                while (-1 < reader.Peek())
                {
                    // 1行ずつ読み取ります。

                    // 読み取った返却値を、変数に入れ直さずにスプリット。
                    array_Field = reader.ReadLine().Split(this.CharSeparator);

                    // 行を作成します。
                    datarow = dataTable.NewRow();

                    //
                    // 追加する列数
                    //
                    object[] itemArray = datarow.ItemArray;//ItemArrayは1回の呼び出しが重い。
                    int count_AddsColumns = array_Field.Length - itemArray.Length;
                    for (int count = 0; count < count_AddsColumns; count++)
                    {
                        // 0行目で数えた列数より多い場合。

                        // 列を追加します。
                        // 列定義を追加しています。型は文字列型、名前は空文字列です。
                        dataTable.Columns.Add("", typeof(string));
                    }

                    int indexColumn3 = 0;
                    while (indexColumn3 < array_Field.Length)
                    {
                        datarow[indexColumn3] = array_Field[indexColumn3];
                        indexColumn3++;
                    }

                    dataTable.Rows.Add(datarow);
                    index_Row++;
                }
            }

            // ストリームを閉じます。
            reader.Close();

            return dataTable;
        }
开发者ID:muzudho,项目名称:XtA,代码行数:99,代码来源:CsvTo_DataTableImpl.cs

示例10: Run

 public override void Run(bool runChildren)
 {
     string t;
     //Linesがあるとき。
     if (string.IsNullOrEmpty(Lines) == false)
     {
         var  t1 = Lines.Convert(this).ReadLines();
         if(trim)
         {
             t1 = t1.Select(n => n.Trim()).ToArray();
         }
         if(skipEmpty)
         {
             t1 = t1.Where(n => n.Length > 0).ToArray();
         }
         base.RunChildrenForArray(runChildren, t1);
     }
     //ないとき
     else
     {
         t = GetText();
         if (t.Length > 0)
         {
             System.IO.StringReader sr = new System.IO.StringReader(t);
             List<string> list = new List<string>();
             while (sr.Peek() > -1)
             {
                 string line = sr.ReadLine();
                 if (trim) line = line.Trim();
                 if (skipEmpty)
                 {
                     if (line.Length > 0)
                     {
                         list.Add(line);
                     }
                 }
                 else
                 {
                     list.Add(line);
                 }
             }
             sr.Close();
             base.RunChildrenForArray(runChildren, list);
         }
     }
 }
开发者ID:kiichi54321,项目名称:Rawler,代码行数:46,代码来源:ReadLine.cs

示例11: Run

        /// <summary>
        /// このクラスでの実行すること。
        /// </summary>
        /// <param name="runChildren"></param>
        public override void Run(bool runChildren)
        {
            string filename = GetFileName();
            if (string.IsNullOrEmpty( filename))
            {
                ReportManage.ErrReport(this, "FileNameが空です。");
            }

            try
            {
                if (this.ReadEnd)
                {
                    string t = System.IO.File.ReadAllText(filename);
                    System.IO.StringReader sr = new System.IO.StringReader(t);
                    List<string> list = new List<string>();
                    while (sr.Peek() > -1)
                    {
                        string line = sr.ReadLine();
                        if (line.Length > 0)
                        {
                            list.Add(line);
                        }
                    }
                    sr.Close();
                    base.RunChildrenForArray(runChildren, list);
                }
                else
                {
                    var lines = System.IO.File.ReadLines(filename);
                    var topline = System.IO.File.ReadLines(filename).First();
                    int i = 0;
                    columnNameDic = new Dictionary<string, int>();
                    foreach (var item in topline.Split('\t'))
                    {
                        columnNameDic.Add(item, i);
                        i++;
                    }
                    lines = lines.Skip(1);
                    if (skip > 0)
                    {
                        lines = lines.Skip(skip);
                    }
                    base.RunChildrenForArray(runChildren, lines);
                }
            }
            catch (Exception ex)
            {
                ReportManage.ErrReport(this, FileName + "を開くのに失敗しました" + ex.Message);
            }
        }
开发者ID:kiichi54321,项目名称:Rawler,代码行数:54,代码来源:ReadTsv.cs

示例12: Run

 public override void Run(bool runChildren)
 {
     string filename = this.GetFileName();
     if (string.IsNullOrEmpty(filename))
     {
         ReportManage.ErrEmptyPropertyName(this, nameof(FileName));
         return;
     }
     if(System.IO.File.Exists(filename) == false)
     {
         ReportManage.ErrReport(this, "File「"+filename+"」は存在しません");
         return;
     }
     try
     {
         if (readEnd)
         {
             string t = System.IO.File.ReadAllText(filename);
             System.IO.StringReader sr = new System.IO.StringReader(t);
             List<string> list = new List<string>();
             while (sr.Peek() > -1)
             {
                 string line = sr.ReadLine();
                 if (line.Length > 0)
                 {
                     list.Add(line);
                 }
             }
             sr.Close();
             base.RunChildrenForArray(runChildren, list);
         }
         else
         {
             var lines = System.IO.File.ReadLines(filename);
             if (skip > 0)
             {
                 lines = lines.Skip(skip);
             }
             base.RunChildrenForArray(runChildren, lines);
         }
     }
     catch(Exception ex)
     {
         ReportManage.ErrReport(this, FileName+"を開くのに失敗しました"+ex.Message);
     }
 }
开发者ID:kiichi54321,项目名称:Rawler,代码行数:46,代码来源:FileOpen.cs

示例13: Read

        //────────────────────────────────────────
        /// <summary>
        /// CSVを読取り、テーブルにして返します。
        /// 
        /// 
        /// SRS仕様の実装状況
        /// ここでは、先頭行を[0]行目と数えるものとします。
        /// (1)CSVの[0]行目は列名です。
        /// (2)CSVの[1]行目は型名です。
        /// (3)CSVの[2]行目はコメントです。
        /// 
        /// (4)データ・テーブル部で、0列目に「EOF」と入っていれば終了。大文字・小文字は区別せず。
        ///    それ以降に、コメントのようなデータが入力されていることがあるが、フィールドの型に一致しないことがあるので無視。
        ///    TODO: EOF以降の行も、コメントとして残したい。
        /// 
        /// (5)列名に ”END”(半角) がある場合、その手前までの列が有効データです。
        ///    ”END”以降の列は無視します。
        ///    TODO: ”END”以降の行も、コメントとして残したい。
        /// 
        /// (6)int型として指定されているフィールドのデータ・テーブル部に空欄があった場合、DBNull(データベース用のヌル)とします。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns>列名情報も含むテーブル。列の型は文字列型とします。</returns>
        public Table_Humaninput Read(
            string string_Csv,
            Request_ReadsTable forTable_request,
            Format_Table_Humaninput forTable_puts,
            Log_Reports log_Reports
            )
        {
            Log_Method log_Method = new Log_MethodImpl();
            log_Method.BeginMethod(Info_Table.Name_Library, this, "Read(1)",log_Reports);

            Table_Humaninput xenonTable = new Table_HumaninputImpl(
                forTable_request.Name_PutToTable, forTable_request.Expression_Filepath, forTable_request.Expression_Filepath.Cur_Configuration );
            xenonTable.Tableunit = forTable_request.Tableunit;
            xenonTable.Typedata = forTable_request.Typedata;
            xenonTable.IsDatebackupActivated = forTable_request.IsDatebackupActivated;
            xenonTable.Format_Table_Humaninput = forTable_puts;

            Exception err_Excp;
            int error_Count_Index;
            string[] error_Fields_Cur;

            //
            // 型定義部
            //
            // (※NO,ID,EXPL,NAME など、フィールドの定義を持つテーブル)
            //
            RecordFielddefinition recordFielddefinition = new RecordFielddefinitionImpl();

            //
            // データ・テーブル部
            //
            List<List<string>> dataTableRows = new List<List<string>>();

            // CSVテキストを読み込み、型とデータのバッファーを作成します。
            System.IO.StringReader reader = new System.IO.StringReader(string_Csv);
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            // CSVを解析して、テーブル形式で格納。
            {
                // データとして認識する列の総数です。
                int nDataColumnsCount = 0;

                int nRowIndex = 0;
                string[] fields_Cur;
                while (-1 < reader.Peek())
                {
                    string line = reader.ReadLine();

                    fields_Cur = csvParser.UnescapeLineToFieldList(line, this.charSeparator).ToArray();

                    if (0 == nRowIndex)
                    {
                        // 0行目

                        // 列名の行とします。

                        for (int nColumnIx = 0; nColumnIx < fields_Cur.Length; nColumnIx++)
                        {
                            string sColumnName = fields_Cur[nColumnIx];

                            // 列名を読み込みました。

                            // トリム&大文字
                            string sCellValueTU = sColumnName.Trim().ToUpper();
                            if (ToCsv_Table_Humaninput_RowColRegularImpl.S_END == sCellValueTU)
                            {
                                // 列名に ”END” がある場合、その手前までの列が有効データです。
                                // ”END” 以降の列は無視します。
                                goto field_name_reading_end;
                            }

                            // テーブルのフィールドを追加します。型の既定値は文字列型とします。
                            FielddefinitionImpl fieldDef = new FielddefinitionImpl(sColumnName, EnumTypeFielddefinition.String);
                            recordFielddefinition.Add(fieldDef);
                            nDataColumnsCount++;
                        }

//.........这里部分代码省略.........
开发者ID:muzudho,项目名称:XtA,代码行数:101,代码来源:CsvTo_Table_Humaninput_RegularImpl.cs

示例14: TextReadLines

 public static IEnumerable<string> TextReadLines(string text)
 {
     System.IO.StringReader reader = new System.IO.StringReader(text);
     while (reader.Peek() > -1)
     {
         yield return reader.ReadLine();
     }
 }
开发者ID:kiichi54321,项目名称:Rawler,代码行数:8,代码来源:Text.cs

示例15: Read

        //────────────────────────────────────────
        /// <summary>
        /// TODO:「,」「"」に対応したい。
        /// 
        /// 
        /// 縦、横がひっくり返っていて、
        /// 型定義レコードがないCSVテーブルの読取。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns>列名情報も含むテーブル。</returns>
        public Table_Humaninput Read(
            string string_Csv,
            Request_ReadsTable forTable_Request,
            Format_Table_Humaninput forTable_Format,
            Log_Reports log_Reports
            )
        {
            Log_Method log_Method = new Log_MethodImpl();
            log_Method.BeginMethod(Info_Table.Name_Library, this, "Read",log_Reports);

            //
            //
            //
            //
            CsvLineParserImpl csvParser = new CsvLineParserImpl();

            Table_Humaninput xenonTable = new Table_HumaninputImpl(
                forTable_Request.Name_PutToTable, forTable_Request.Expression_Filepath, forTable_Request.Expression_Filepath.Cur_Configuration);
            xenonTable.Tableunit = forTable_Request.Tableunit;
            xenonTable.Typedata = forTable_Request.Typedata;
            xenonTable.IsDatebackupActivated = forTable_Request.IsDatebackupActivated;
            xenonTable.Format_Table_Humaninput = forTable_Format;

            //
            // 一旦、テーブルを全て読み込みます。
            //
            List<List<string>> lines = new List<List<string>>();

            {
                // CSVテキストを読み込み、型とデータのバッファーを作成します。
                System.IO.StringReader reader = new System.IO.StringReader(string_Csv);

                string[] sFields;
                while (-1 < reader.Peek())
                {
                    string sLine = reader.ReadLine();
                    List<string> tokens = new List<string>();

                    sFields = csvParser.UnescapeLineToFieldList(sLine, this.charSeparator).ToArray();

                    int nColumnIndex = 0;
                    foreach (string sToken in sFields)
                    {
                        if (nColumnIndex == 0 && ToCsv_Table_Humaninput_RowColRegularImpl.S_END == sToken.Trim().ToUpper())
                        {
                            // 1列目にENDがある場合、その手前までの列が有効データです。
                            // END以降の行は無視します。
                            goto row_end;
                        }

                        tokens.Add(sToken);

                        nColumnIndex++;
                    }
                    lines.Add(tokens);
                }
            row_end:

                // ストリームを閉じます。
                reader.Close();
            }

            //
            // 型定義部
            //
            // (※NO,ID,EXPL,NAME など、フィールドの定義を持つテーブル)
            //
            RecordFielddefinition recordFielddefinition = new RecordFielddefinitionImpl();

            //
            // データ・テーブル部
            //
            List<List<string>> rows = new List<List<string>>();

            //
            // まず、0列目、1列目のデータを読み取ります。
            //
            int nRowIndex=0;
            foreach (List<string> tokens in lines)
            {
                Fielddefinition fieldDefinition = null;

                int nColumnIndex = 0;
                foreach(string sToken in tokens)
                {

                    if(0==nColumnIndex)
                    {
                        //
                        // 0列目は、フィールド名です。
//.........这里部分代码省略.........
开发者ID:muzudho,项目名称:XtA,代码行数:101,代码来源:CsvTo_Table_Humaninput_ReverseAllIntsImpl.cs


注:本文中的System.IO.StringReader.Peek方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。