FileHelper读取csv文件冻结

时间:2013-02-20 16:03:47

标签: c# csv file-io filehelpers

我正在尝试使用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); 

程序刚冻结。我不确定发生了什么。我做错了什么?任何人都可以提供一些指示?任何建议表示赞赏。

1 个答案:

答案 0 :(得分:2)

行。我放弃。我将流式读取文件,然后解析它。这是我读取我的csv文件的代码:

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

然后将array [i]转换为char / int,或者你想要的任何类型。

要char,例如将ASC II 65转换为'A':

char.ConvertFromUtf32(65);

要int,例如将ASC II 48转换为0:

Convert.ToInt32(char.ConvertFromUtf32(48));