首先展开问题:
最近在负责一个文件内容解析的模块。其中有一段代码是将报文从文件通过StreamReader类
读取,并生成string。
如果只选择要读取得文件而不打开就会出现如下异常:


打开异常常规帮助:

在异常帮助中,可以看出:
1.异常的类型是:System.ArgumentNullException
2.异常的原因是:如果向方法传递空引用,而该方法不接受空引用为有效参数。空引用是对不存在的对象的引用,原因通常是还未以编程方式创建该对象的任何实例。
3.解决方法是:检查参数以确保它们不为空。
修改成只需加一个判断就可以避免这个错误了!呵呵
if (FilePath != null)
{
StreamReader sr = new StreamReader(FilePath, Encoding.Default);
string FileString = sr.ReadToEnd();
string[] split = FileString.Split(new Char[] { ‘,‘, ‘*‘, ‘\t‘ });
string GroundSpeed;
string GroundCourse;
for (int i = 0; i < split.Length; i += 9)
{
if ("$GPRMC" == split[i])
{
// 获取了时间信息
label_End.Text = split[i + 1];
// 获取了航速和航向的字段
GroundSpeed = split[i + 7];
GroundCourse = split[i + 8];
}
}
}
原文:http://www.cnblogs.com/wssxr/p/4255337.html