テキストファイルに文字列を出力するサンプルです。
StreamWriterのWriteLineはファイルの追記と上書きが行えます。
また指定されたパスにファイルがなければファイルが作成されます。
始めに、コンストラクタに引数を渡し、インスタンスを作ります。
StreamWriter(arg1, arg2, arg3)
arg1 | 出力ファイルのパス | D:\test.txt |
arg2 | 追記 | true/false |
arg3 | エンコード | Encoding enc = Encoding.GetEncoding(“Shift_JIS”); エンコードを引数に渡します。 |
作成したStreamWriterのWriteLineメソッドを使ってファイルに文字列を出力します。
例.
Encoding enc = Encoding.GetEncoding("Shift_JIS");
using (StreamWriter sw = new StreamWriter(@"D:\test.txt",false, enc))
{
sw.WriteLine("犬");
}
StreamWriterを使用したサンプルとして、fileOutPut メソッドを作成しました。
fileOutPutは色んなデータ型を受け取るため、動的な型のdynamicを使用しています。
デバッグなどでのちょっとしたファイル出力に使えるかもしれません。
fileOutPut(arg1,arg2,arg3)
arg1 | タイトル | 出力する値のタイトル |
arg2 | 値 | 出力する変数など |
arg3 | 追記 | true/false |
サンプルの内容
① 文字列の出力(上書き)
string に格納されたデータを出力します。
②数値の出力(追記)
int に格納されたデータを出力します。
③数値(少数あり)の出力(追記)
double に格納されたデータを出力します。
④日時の出力(追記)
DateTime に格納されたデータを出力します。
⑤配列の出力(追記)
int[] arr に格納されたデータを出力します。
⑥リストの出力(追記)
List<string> に格納されたデータを出力します。
指定可能なICONの点灯スタイル
BlinkStyleは3つの点灯スタイルを指定できます。
AlwaysBlink | 常に点滅 |
BlinkIfDifferentError | 始めに点灯し、時間がたつと点灯しなくなる |
NeverBlink | 点滅しない |
使用部品
No | 項目名 | Text | name | 部品 |
5 | 出力ボタン | 出力 | button1 | Button |
プログラミング
言語:C#
using System.IO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApp25
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 出力ボタンクリック
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
// 文字列
string s = "OKです。";
// 数値
int i = 999;
// 数値(少数あり)
double d = 999.99;
// 日時
DateTime dt = DateTime.Now;
// 配列
int[] arr = new int[3] { 10, 20, 30 };
// リスト
var lst = new List<string>() { "犬", "猫", "鳥" };
// 文字列の出力
fileOutPut("string", s,false);
// 数値の出力
fileOutPut("int", i);
// 数値(少数あり)の出力
fileOutPut("double", d);
// 日時の出力
fileOutPut("日時", dt);
// 配列の出力
fileOutPut("配列", string.Join(",", arr));
// リストの出力
fileOutPut("リスト", string.Join(",", lst));
}
/// <summary>
/// ファイル出力処理
/// </summary>
/// <param name="s">タイトル</param>
/// <param name="dyn">値</param>
/// <param name="isAdd">追記フラグ</param>
private void fileOutPut(string s,dynamic dyn,bool isAdd=true) {
// 出力先ファイル名
string saveFile = @"D:\test.txt";
// 出力の文字コードは、Shift_JISを指定する
Encoding enc = Encoding.GetEncoding("Shift_JIS");
// ファイルに出力する
using (StreamWriter sw = new StreamWriter(saveFile, isAdd, enc))
{
sw.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} : {s} [{dyn}]");
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
実行結果
出力をクリックします。
データがファイルに出力されます。
以上です。