本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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);
}
示例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);
//.........这里部分代码省略.........
示例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();
//
// データ・テーブル部
//
//.........这里部分代码省略.........
示例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);
}
示例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??
}
示例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;
}
示例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);
}
}
}
示例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);
}
}
示例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);
}
}
示例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++;
}
//.........这里部分代码省略.........
示例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();
}
}
示例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列目は、フィールド名です。
//.........这里部分代码省略.........