这种.dat文件怎么读啊???

追寻梦中人 2004-07-07 09:56:12
现在得到一个.dat文件
里面的数据如下(一共四行数据,每行数据有9个值):
1.60210 4.7 48.8 .0 .0 4.3 -50.4 .0 -999.9
.87510 6.1 35.0 .0 .0 4.9 -29.3 .0 -999.9
-.12490 14.9 20.5 .0 .0 20.0 -24.5 .0 -999.9
-1.02800 44.5 34.7 .0 .0 38.3 -37.5 .0 -999.9
这个在C#程序里怎么读数据啊???

另外,
如何把一行里的连续的三四个空格用一个空格来代替啊???
比如说
一个数据读出来后是这样的:
1 2 3 5 66 88 7 9
我想把这个数据变成这样的:
1 2 3 4 5 66 88 7 9
也就是中间只空一个空格
这个有什么好的办法没有?
...全文
273 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
CsGinger 2004-07-09
  • 打赏
  • 举报
回复
gz
追寻梦中人 2004-07-09
  • 打赏
  • 举报
回复
多谢zjsen(星愿)了!!!
八爪鱼-杭州 2004-07-09
  • 打赏
  • 举报
回复
string s ="a b c d";
Regex r= new Regex(" +");
string[] ss= r.Split(s);
sdd330 2004-07-09
  • 打赏
  • 举报
回复
char PrevChar=" ",CurrChar=" ";
string Temp="";
string Num="";

while(NotEof()){
CurrChar = ReadAChar();
if(PrevChar==" "&&CurrChar!=PrevChar){
Temp=" " + CurrChar;
}
if(CurrChar==" "&&CurrChar!=PrevChar){
Num=Num + Temp;
}
Temp = Temp + CurrChar;
PrevChar = CurrChar;
}

得到的Num就是中间由一个空格分隔的了字符串了。
sdd330 2004-07-09
  • 打赏
  • 举报
回复
to miqier(米琪儿): 这样替换一遍以后还是会有很多空格阿,不如一个一个字符读出来把是空格的过滤掉,是数字的存到数组里去,然后判断大小可以不?

追寻梦中人 2004-07-09
  • 打赏
  • 举报
回复
哦,还有个问题,
我想知道这些数据中每一列的最大值和最小值,
是不是除了遍历一次全部数据没有其他办法了啊?
miqier 2004-07-09
  • 打赏
  • 举报
回复
按行读的时候使用StreamReader的ReadLine()来进行
using System;
using System.IO;
public class TextFromFile
{
private const string FILE_NAME = "MyFile.txt";
public static void Main(String[] args)
{
if (!File.Exists(FILE_NAME))
{
Console.WriteLine("{0} does not exist.", FILE_NAME);
return;
}
StreamReader sr = File.OpenText(FILE_NAME);
String input;
while ((input=sr.ReadLine())!=null)
{
Console.WriteLine(input);
}
Console.WriteLine ("The end of the stream has been reached.");
sr.Close();
}
}
miqier 2004-07-09
  • 打赏
  • 举报
回复
while(str.IndexOf(" ") >= 0)
{
str = str.Replace(" "," ");
}
追寻梦中人 2004-07-09
  • 打赏
  • 举报
回复
是可以指定空格为分隔符,但是关键问题是我也不知道数据和数据之间的空格数会是几个啊,
可能是一个,也可能是两个,还可以是四个,五个啊...
这个空格数是不确定的啊...
追寻梦中人 2004-07-09
  • 打赏
  • 举报
回复
to zjsen(星愿):
这里的空格数我也不知道会有多少个啊...
空格数是不确定的啊.
lgh12345 2004-07-07
  • 打赏
  • 举报
回复
string类有一个方法是将一个字符串分隔成一个数组,你可以指定空格为分隔符。具体用法查MSDN吧,我也记不清了。
八爪鱼-杭州 2004-07-07
  • 打赏
  • 举报
回复
string str="1 2 3 5 66 88 7 9";
int n=3;//n等于字符串中最大的连续空格数除以2加1
for(i=0;i<n;i++)
{
str=str.Replace(" "," ");
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧