質問編集履歴

2

ソースコードを<code>に入れました

2019/06/25 05:44

投稿

CopanSassa
CopanSassa

スコア18

test CHANGED
File without changes
test CHANGED
@@ -10,264 +10,260 @@
10
10
 
11
11
  PlayerPrefでの保存でもいいですが、CSVファイルへの変換方法がわかりません
12
12
 
13
- バイナリファイルがいくつかできるのは、知っていますが、ファイル名も数字の羅列でよくわからないのでどう扱っていいかに困っています```ここに言語を入力
13
+ バイナリファイルがいくつかできるのは、知っていますが、ファイル名も数字の羅列でよくわからないのでどう扱っていいかに困っています
14
+
15
+
16
+
14
-
17
+ とにかく、セーブデータを外部にエクスポートでき、それをパソコンで見れれば十分です
18
+
19
+ ### 発生している問題・エラーメッセージ
20
+
21
+ NotSupportedExeptionと出てきます
22
+
23
+ パソコンでは、何ら問題がなくできたんですが、アンドロイドで動かすとうまくいきません
24
+
25
+
26
+
27
+ ### 該当のソースコード
28
+
29
+
30
+
31
+ ```ここに言語を入力
32
+
33
+ using UnityEngine;
34
+
35
+ using UnityEngine.UI;
36
+
37
+ using System.Text;
38
+
39
+ using System.IO;
40
+
41
+
42
+
43
+ public class exportCsvScript : MonoBehaviour
44
+
45
+ {
46
+
47
+ //Reference: https://dobon.net/vb/dotnet/file/edittextfile.html
48
+
49
+
50
+
51
+ //public GameObject CSVText;
52
+
53
+
54
+
55
+ // Use this for initialization
56
+
57
+ void Start()
58
+
59
+ {
60
+
61
+ Debug.Log(UnityEngine.Application.persistentDataPath);
62
+
63
+ CheckExixtCSV();
64
+
65
+ ReadCSV();
66
+
67
+
68
+
69
+ }
70
+
71
+
72
+
73
+ // Update is called once per frame
74
+
75
+ void Update()
76
+
77
+ {
78
+
79
+
80
+
81
+ }
82
+
83
+
84
+
85
+ void OverWriteCSV()
86
+
87
+ {
88
+
89
+ // ファイル書き出し
90
+
91
+ // 現在のフォルダにsaveData.csvを出力する(決まった場所に出力したい場合は絶対パスを指定してください)
92
+
93
+ // 引数説明:第1引数→ファイル出力先, 第2引数→ファイルに追記(true)or上書き(false), 第3引数→エンコード
94
+
95
+ //falseにすると、ファイルを新規作成する
96
+
97
+ StreamWriter sw = new StreamWriter(UnityEngine.Application.persistentDataPath + "/saveData.txt", false, Encoding.GetEncoding("Shift_JIS"));
98
+
99
+ // ヘッダー出力
100
+
101
+ string[] s1 = { "00", "01", "02", "03" };
102
+
103
+ string s2 = string.Join(",", s1);
104
+
105
+ sw.WriteLine(s2);
106
+
107
+
108
+
109
+ // データ出力
110
+
111
+ //ここでまず入れたいデータを配列として扱う
112
+
113
+ string[] str = {DataScripts.CorrectNumber.ToString(), DataScripts.TotalTime.ToString(), DataScripts.ChooseCircleNumber.ToString(), DataScripts.ChooseCrosstNumber.ToString() };
114
+
115
+
116
+
117
+ //ここで","を付けた形にする(str2に配列strに","を付けたものを代入する)
118
+
119
+ string str2 = string.Join(",", str);
120
+
121
+
122
+
123
+ //ここで初めて書き込む
124
+
125
+ sw.WriteLine(str2);
126
+
127
+
128
+
129
+ // StreamWriterを閉じる
130
+
131
+ sw.Flush();
132
+
133
+ sw.Close();
134
+
135
+
136
+
137
+ }
138
+
139
+
140
+
141
+ void AppendCSV()
142
+
143
+ {
144
+
145
+ // ファイル書き出し
146
+
147
+ // 現在のフォルダにsaveData.csvを出力する(決まった場所に出力したい場合は絶対パスを指定してください)
148
+
149
+ // 引数説明:第1引数→ファイル出力先, 第2引数→ファイルに追記(true)or上書き(false), 第3引数→エンコード
150
+
151
+ //falseにすると、ファイルを新規作成する
152
+
153
+ StreamWriter sw = new StreamWriter(UnityEngine.Application.persistentDataPath + "/saveData.txt", true, Encoding.GetEncoding("Shift_JIS"));
154
+
155
+
156
+
157
+ // データ出力
158
+
159
+ //ここでまず入れたいデータを配列として扱う
160
+
161
+ string[] str = { DataScripts.CorrectNumber.ToString(), DataScripts.TotalTime.ToString(), DataScripts.ChooseCircleNumber.ToString(), DataScripts.ChooseCrosstNumber.ToString() };
162
+
163
+
164
+
165
+ //ここで","を付けた形にする(str2に配列strに","を付けたものを代入する)
166
+
167
+ string str2 = string.Join(",", str);
168
+
169
+
170
+
171
+ //ここで初めて書き込む
172
+
173
+ sw.WriteLine(str2);
174
+
175
+
176
+
177
+ // StreamWriterを閉じる
178
+
179
+ sw.Flush();
180
+
181
+ sw.Close();
182
+
183
+
184
+
185
+ }
186
+
187
+
188
+
189
+ void ReadCSV()
190
+
191
+ {
192
+
193
+ // ファイル読み込み
194
+
195
+ // 引数説明:第1引数→ファイル読込先, 第2引数→エンコード
196
+
197
+ StreamReader sr = new StreamReader(UnityEngine.Application.persistentDataPath + "/saveData.txt", Encoding.GetEncoding("Shift_JIS"));
198
+
199
+ string line;
200
+
201
+
202
+
203
+ // 行がnullじゃない間(つまり次の行がある場合は)、処理をする
204
+
205
+ while ((line = sr.ReadLine()) != null)
206
+
207
+ {
208
+
209
+ // コンソールに出力
210
+
211
+ Debug.Log(line);
212
+
213
+ //Text YourCSVText= CSVText.GetComponent<Text>();
214
+
215
+ // テキストの表示を入れ替える
216
+
217
+ //YourCSVText.text = line.ToString();
218
+
219
+ }
220
+
221
+ // StreamReaderを閉じる
222
+
223
+
224
+
225
+
226
+
227
+ sr.Close();
228
+
229
+ }
230
+
231
+
232
+
233
+ void CheckExixtCSV()
234
+
235
+ {
236
+
237
+ if (System.IO.File.Exists(UnityEngine.Application.persistentDataPath + "/saveData.txt")){
238
+
239
+ Debug.Log("CSVファイルが存在するので追記します");
240
+
241
+
242
+
243
+ AppendCSV();
244
+
245
+ }
246
+
15
- コード
247
+ else
248
+
249
+ {
250
+
251
+ Debug.Log("CSVファイルが存在しないので作成します");
252
+
253
+
254
+
255
+ OverWriteCSV();
256
+
257
+ }
258
+
259
+ }
260
+
261
+ }
262
+
263
+
16
264
 
17
265
  ```
18
266
 
19
-
20
-
21
- とにかく、セーブデータを外部にエクスポートでき、それをパソコンで見れれば十分です
22
-
23
- ### 発生している問題・エラーメッセージ
24
-
25
- NotSupportedExeptionと出てきます
26
-
27
- パソコンでは、何ら問題がなくできたんですが、アンドロイドで動かすとうまくいきません
28
-
29
-
30
-
31
- ### 該当のソースコード
32
-
33
-
34
-
35
- ```ここに言語を入力
36
-
37
- using UnityEngine;
38
-
39
- using UnityEngine.UI;
40
-
41
- using System.Text;
42
-
43
- using System.IO;
44
-
45
-
46
-
47
- public class exportCsvScript : MonoBehaviour
48
-
49
- {
50
-
51
- //Reference: https://dobon.net/vb/dotnet/file/edittextfile.html
52
-
53
-
54
-
55
- //public GameObject CSVText;
56
-
57
-
58
-
59
- // Use this for initialization
60
-
61
- void Start()
62
-
63
- {
64
-
65
- Debug.Log(UnityEngine.Application.persistentDataPath);
66
-
67
- CheckExixtCSV();
68
-
69
- ReadCSV();
70
-
71
-
72
-
73
- }
74
-
75
-
76
-
77
- // Update is called once per frame
78
-
79
- void Update()
80
-
81
- {
82
-
83
-
84
-
85
- }
86
-
87
-
88
-
89
- void OverWriteCSV()
90
-
91
- {
92
-
93
- // ファイル書き出し
94
-
95
- // 現在のフォルダにsaveData.csvを出力する(決まった場所に出力したい場合は絶対パスを指定してください)
96
-
97
- // 引数説明:第1引数→ファイル出力先, 第2引数→ファイルに追記(true)or上書き(false), 第3引数→エンコード
98
-
99
- //falseにすると、ファイルを新規作成する
100
-
101
- StreamWriter sw = new StreamWriter(UnityEngine.Application.persistentDataPath + "/saveData.txt", false, Encoding.GetEncoding("Shift_JIS"));
102
-
103
- // ヘッダー出力
104
-
105
- string[] s1 = { "00", "01", "02", "03" };
106
-
107
- string s2 = string.Join(",", s1);
108
-
109
- sw.WriteLine(s2);
110
-
111
-
112
-
113
- // データ出力
114
-
115
- //ここでまず入れたいデータを配列として扱う
116
-
117
- string[] str = {DataScripts.CorrectNumber.ToString(), DataScripts.TotalTime.ToString(), DataScripts.ChooseCircleNumber.ToString(), DataScripts.ChooseCrosstNumber.ToString() };
118
-
119
-
120
-
121
- //ここで","を付けた形にする(str2に配列strに","を付けたものを代入する)
122
-
123
- string str2 = string.Join(",", str);
124
-
125
-
126
-
127
- //ここで初めて書き込む
128
-
129
- sw.WriteLine(str2);
130
-
131
-
132
-
133
- // StreamWriterを閉じる
134
-
135
- sw.Flush();
136
-
137
- sw.Close();
138
-
139
-
140
-
141
- }
142
-
143
-
144
-
145
- void AppendCSV()
146
-
147
- {
148
-
149
- // ファイル書き出し
150
-
151
- // 現在のフォルダにsaveData.csvを出力する(決まった場所に出力したい場合は絶対パスを指定してください)
152
-
153
- // 引数説明:第1引数→ファイル出力先, 第2引数→ファイルに追記(true)or上書き(false), 第3引数→エンコード
154
-
155
- //falseにすると、ファイルを新規作成する
156
-
157
- StreamWriter sw = new StreamWriter(UnityEngine.Application.persistentDataPath + "/saveData.txt", true, Encoding.GetEncoding("Shift_JIS"));
158
-
159
-
160
-
161
- // データ出力
162
-
163
- //ここでまず入れたいデータを配列として扱う
164
-
165
- string[] str = { DataScripts.CorrectNumber.ToString(), DataScripts.TotalTime.ToString(), DataScripts.ChooseCircleNumber.ToString(), DataScripts.ChooseCrosstNumber.ToString() };
166
-
167
-
168
-
169
- //ここで","を付けた形にする(str2に配列strに","を付けたものを代入する)
170
-
171
- string str2 = string.Join(",", str);
172
-
173
-
174
-
175
- //ここで初めて書き込む
176
-
177
- sw.WriteLine(str2);
178
-
179
-
180
-
181
- // StreamWriterを閉じる
182
-
183
- sw.Flush();
184
-
185
- sw.Close();
186
-
187
-
188
-
189
- }
190
-
191
-
192
-
193
- void ReadCSV()
194
-
195
- {
196
-
197
- // ファイル読み込み
198
-
199
- // 引数説明:第1引数→ファイル読込先, 第2引数→エンコード
200
-
201
- StreamReader sr = new StreamReader(UnityEngine.Application.persistentDataPath + "/saveData.txt", Encoding.GetEncoding("Shift_JIS"));
202
-
203
- string line;
204
-
205
-
206
-
207
- // 行がnullじゃない間(つまり次の行がある場合は)、処理をする
208
-
209
- while ((line = sr.ReadLine()) != null)
210
-
211
- {
212
-
213
- // コンソールに出力
214
-
215
- Debug.Log(line);
216
-
217
- //Text YourCSVText= CSVText.GetComponent<Text>();
218
-
219
- // テキストの表示を入れ替える
220
-
221
- //YourCSVText.text = line.ToString();
222
-
223
- }
224
-
225
- // StreamReaderを閉じる
226
-
227
-
228
-
229
-
230
-
231
- sr.Close();
232
-
233
- }
234
-
235
-
236
-
237
- void CheckExixtCSV()
238
-
239
- {
240
-
241
- if (System.IO.File.Exists(UnityEngine.Application.persistentDataPath + "/saveData.txt")){
242
-
243
- Debug.Log("CSVファイルが存在するので追記します");
244
-
245
-
246
-
247
- AppendCSV();
248
-
249
- }
250
-
251
- else
252
-
253
- {
254
-
255
- Debug.Log("CSVファイルが存在しないので作成します");
256
-
257
-
258
-
259
- OverWriteCSV();
260
-
261
- }
262
-
263
- }
264
-
265
- }
266
-
267
-
268
-
269
- ```
270
-
271
267
  ### 試したこと
272
268
 
273
269
 

1

コードを<code>にいれました

2019/06/25 05:44

投稿

CopanSassa
CopanSassa

スコア18

test CHANGED
File without changes
test CHANGED
@@ -32,6 +32,8 @@
32
32
 
33
33
 
34
34
 
35
+ ```ここに言語を入力
36
+
35
37
  using UnityEngine;
36
38
 
37
39
  using UnityEngine.UI;
@@ -264,6 +266,8 @@
264
266
 
265
267
 
266
268
 
269
+ ```
270
+
267
271
  ### 試したこと
268
272
 
269
273