現状
研究用にhololens2を用いて、視線データとIMUセンサのデータをcsvファイルとして出力するシステムを作っています。
初めての質問のため至らない点も多いと思いますがデータが取れずに途方に暮れています。何卒よろしくお願いします。
実現したいこと
- Unityで実装したアプリの中でstreamwriterを用いて毎フレームごとにセンサ値をcsvファイルに追加するコードを作成したい。
発生している問題・エラーメッセージ
Updateクラス内でファイルの作成を指示しているが実行してもファイルが生成されない
該当のソースコード
C#
1using System.IO; 2using System.Text; 3 4public class Gazeget : MonoBehaviour 5{ 6 7 private FileInfo fil; 8 9 void Start() 10 { 11 string filepath = UnityEngine.Application.persistentDataPath + "/data.csv"; 12 fil = new FileInfo(filepath); 13 14 } 15 16 void Update() 17 { 18 19 StreamWriter sw ; 20 sw = fil.AppendText(); 21 sw.WriteLine("センサデータ"); 22 sw.Flush(); 23 sw.Close(); 24 25 26 } 27}
試したこと
・単純にstartの中でファイルを作成した際には作成が確認できたのでパスは間違っていない。(しかし、そこにupdateで書き込むことはできなかった。
・usingを呼び出してその中でstreamwriterを呼び出した。
補足情報(FW/ツールのバージョンなど)
コードから離れて書いているため実際のコードをかなり簡単に書き直したものになっています。
ツール
HoloLens2 Unity 2019 Visual studio 2019
StreamWriter を初期化しているコードが見当たりませんが Unity ってどこかで自動的にそれをやってくれるのでしょうか?
コメントありがとうございます。
Updateの中でswを宣言した後、
fil.AppendText() でstreamwriterが生成されるため、それをswに渡しているという認識です。
これでは初期化されていないことになっているのでしょうか。
そもそも質問のコードが動くなんて全く思えないんですけど? fil は Start のローカル変数だし・・・ Unity にはそういうことをすべて超越してるなにか特別なことがあるなら分かりませんが。
イイカゲンなコードを質問欄に書かないようにしてください。一事が万事そういう調子だと思われますよ。
コードを思い出しながら打っており、飛んだ間違いをしてしまいました。
ご指摘いただきありがとうございます。
もしよろしければ後学のためにその他に何か超越的なことが起きなければ解決しないようなコードのおかしな点があればご指摘いただけますでしょうか。
「コードを思い出しながら打っており」が超越的
