回答編集履歴

1

質問内容の見落としを受けた回答の修正

2018/04/29 07:48

投稿

ko-ito
ko-ito

スコア54

test CHANGED
@@ -1,23 +1,69 @@
1
- ソースコードコピーしてみて気づいたのですが、
1
+ すいません、下記の文章見落としていまし
2
2
 
3
+ ```
4
+
5
+ 保存先(fsの位置)にフルパスをいれると、プログラムの実行はできますが
6
+
3
- 「試したこと」ドはコンパイル出来せん
7
+ 以下様なエラが発生してしいます
8
+
9
+ ```
10
+
11
+ すでに解決済みになっていますが、
12
+
13
+ 後からこの質問を見た方のため、原因を書いておきます。
4
14
 
5
15
 
6
16
 
17
+ StreamWriterにstring(ファイルパス)を渡した場合、
18
+
19
+ 指定されたファイルを書き込み用に開いてから書き込みを行います。
20
+
21
+ この場合、OpenWriteメソッドでファイルオープンした後、
22
+
23
+ StreamWriterで同じファイルをオープンしようとしているのでエラーになります。
24
+
25
+
26
+
27
+ StreamWriterにパスを渡す場合、ファイルを開く処理も行ってくれるので、
28
+
7
- もしかしたら
29
+ FileStreamを使用する必要はなく
8
30
 
9
31
  ```C#
10
32
 
33
+ const string OUTPUT_FILE_NAME = "myCSVFile.csv";
34
+
35
+ FileInfo myCSVFile = new FileInfo(OUTPUT_FILE_NAME);
36
+
37
+ using (FileStream fs = myCSVFile.OpenWrite())
38
+
39
+ {
40
+
11
- using (var sw = new StreamWriter(fs, true, Encoding.GetEncoding("Unicode")))
41
+ using (var sw = new StreamWriter(OUTPUT_FILE_NAME, true, Encoding.GetEncoding("Unicode")))
42
+
43
+ {
44
+
45
+ sw.WriteLine(getCSVElement("作品名") + getCSVElement("作者"));
46
+
47
+ }
48
+
49
+ }
12
50
 
13
51
  ```
14
52
 
15
- ではなく、
53
+ ↓↓↓
16
54
 
17
55
  ```C#
18
56
 
57
+ const string OUTPUT_FILE_NAME = "myCSVFile.csv";
58
+
19
59
  using (var sw = new StreamWriter(OUTPUT_FILE_NAME, true, Encoding.GetEncoding("Unicode")))
60
+
61
+ {
62
+
63
+ sw.WriteLine(getCSVElement("作品名") + getCSVElement("作者"));
64
+
65
+ }
20
66
 
21
67
  ```
22
68
 
23
- このようになっていませんか
69
+ このように書き換えると正常に動作するようにると思いま