0

FileHelper を使用して、データが次のように配置された csv ファイルを読み込もうとしています: 0,0,0,0,0,0,0,1,1,1,0,0,0,0,.. .... それらの 1kX1k。ここに私の FileHelper コードがあります:

[DelimitedRecord(",")] 
    public class ROIMaskCSV 
    { 
        public int value;

        //[TransformToRecord(typeof(ROIMaskCSV[]))]
        public static ROIMaskCSV[] loadMask(string fileName)
        {

            DelimitedFileEngine engine = new DelimitedFileEngine(typeof(ROIMaskCSV));

            ROIMaskCSV[] mask = (ROIMaskCSV[])engine.ReadFile(fileName); 

           // mask[0].value = this.value;

            return mask;
        }
    }

FileHelper の loadMask() 関数が呼び出される場所は次のとおりです。

public class TIFFIImageIO
{
    public static int LoadTIFF(string fileName, int x, int y)
    {

        ROIMaskCSV[] mask = ROIMaskCSV.loadMask("d:\\myMask.csv");
        ......

私が足を踏み入れたので、プログラムが取得したとき:

 ROIMaskCSV[] mask = (ROIMaskCSV[])engine.ReadFile(fileName); 

プログラムはフリーズしただけです。何が起こったのかわかりません。私が何か間違ったことをしましたか?誰でもいくつかの指針を与えることができますか?どんな提案でも大歓迎です。

4

1 に答える 1

2

わかった。あきらめる。ファイルをストリーム読み取りしてから解析します。これは、csv ファイルを読み取ったコードです。

byte[] array = System.IO.File.ReadAllBytes(fileName);

次に、array[i] を char/int、または任意の型に変換します。

たとえば、ASC II 65 を 'A' に変換するには、次のようにします。

char.ConvertFromUtf32(65);

たとえば、ASC II 48 を 0 に変換するには、次のように入力します。

Convert.ToInt32(char.ConvertFromUtf32(48));
于 2013-02-20T17:27:18.250 に答える