13,002
回編集
(→使用例) |
|||
274行目: | 274行目: | ||
writer.WriteLine("値4,\"値5,カンマを含む\",値6"); | writer.WriteLine("値4,\"値5,カンマを含む\",値6"); | ||
writer.WriteLine("値7,値8,\"値9\n改行を含む\""); | writer.WriteLine("値7,値8,\"値9\n改行を含む\""); | ||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
Console.WriteLine("書き込みエラー: " + ex.Message); | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
以下の例では、上記の例を非同期で処理している。<br> | |||
<br> | |||
<syntaxhighlight lang="c#"> | |||
// 非同期処理 | |||
using System; | |||
using System.Text; | |||
using System.IO; | |||
using System.Threading.Tasks; | |||
class CSVParser | |||
{ | |||
static async Task Main() | |||
{ | |||
string outputFile = "sample.txt"; | |||
await WriteCSVAsync(outputFile); | |||
} | |||
static async Task WriteCSVAsync(string outputFile) | |||
{ | |||
try | |||
{ | |||
using (StreamWriter writer = new StreamWriter(outputFile, false, Encoding.GetEncoding("Shift_JIS"))) | |||
{ | |||
// ヘッダ行を書き込む | |||
await writer.WriteLineAsync("列1,列2,列3"); | |||
// レコード行を書き込む | |||
await writer.WriteLineAsync("値1,値2,値3"); | |||
await writer.WriteLineAsync("値4,\"値5,カンマを含む\",値6"); | |||
await writer.WriteLineAsync("値7,値8,\"値9\n改行を含む\""); | |||
} | } | ||
} | } |