最近在做一项目需要将数据库的数据导出到TXT文件里,供盘点机(下位机)读取 ,可是我将文件导出后,在盘点机里不能读,提示格式错误!我在网上查了一下,好象是什么格式问题,请问怎么设置格式?我的代码如下:
注意:盘点机程序是C写的 StreamWriter mFileName = new StreamWriter(fileName, true, Encoding.Default);
mFileName.WriteLine(unicodeString);
mFileName.Flush();
mFileName.Close();
注意:盘点机程序是C写的 StreamWriter mFileName = new StreamWriter(fileName, true, Encoding.Default);
mFileName.WriteLine(unicodeString);
mFileName.Flush();
mFileName.Close();
{
StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default);
foreach(String[] strArr in ls)
{
fileWriter.WriteLine(String.Join (“,",strArr) );//这里换成你实际的分隔符
}
fileWriter.Flush();
fileWriter.Close();
}
public string GetFirstString(string stringToSub, int length)
{
Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] stringChar = stringToSub.ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = 0;
bool isCut = false;
for (int i = 0; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()))
{
sb.Append(stringChar[i]);
nLength += 2;
}
else
{
sb.Append(stringChar[i]);
nLength = nLength + 1;
} if (nLength > length)
{
isCut = true;
break;
}
}
if (isCut)
//return sb.ToString() + "..";
return sb.ToString().Substring(0,sb.Length -2);
else
return sb.ToString();
}
然后看哪里没达到对方的要求,之后再做针对性改正
/// <summary>
/// 取指定长度的字符串
/// </summary>
/// <param name="Source">被格式化字符串</param>
/// <param name="Length">截取长度</param>
/// <returns></returns>
private string SubString(string Source ,int Length)
{
string result=string.Empty ; Byte[] tmpByteArr;
tmpByteArr=System.Text.Encoding.Default.GetBytes(Source); if (Length>=tmpByteArr.Length )
{
result =Source ; result = result + new string(Convert.ToChar(" "), Length - tmpByteArr.Length);
}
else
{
int temp=0; for (int i=0;i<tmpByteArr.Length ;i++ )
{
if (tmpByteArr[i]>127 )
{
temp=temp +1;
}
} if (temp%2==1 )
{
result = System.Text.Encoding.Default.GetString(tmpByteArr, 0, Length - 1)+" ";
} else
{
result = System.Text.Encoding.Default.GetString(tmpByteArr, 0, Length) ;
}
}
if (Length > result.Length)
{
int k = 0;
}
tmpByteArr = System.Text.Encoding.Default.GetBytes(result ); result = System.Text.Encoding.Default.GetString(tmpByteArr, 0, Length);
return result;
}