我正在尝试使用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);
程序刚冻结。我不确定发生了什么。我做错了什么?任何人都可以提供一些指示?任何建议表示赞赏。
答案 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));