c#读取文件 并求平均数
时间: 2023-11-22 08:48:42 浏览: 38
以下是C#读取文件并求平均数的代码示例:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "sensor-data-1k.txt";
double avg = 0;
int cnt = 0;
using (StreamReader sr = new StreamReader(filePath))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] ls = line.Split();
cnt++;
avg += double.Parse(ls[4]);
}
}
Console.WriteLine("{0:F2}", avg / cnt);
}
}
```
该代码使用了C#的StreamReader类来读取文件,使用Split方法将每行数据按空格分割成字符串数组,然后将第5个元素转换为double类型并累加到avg变量中,最后输出平均数。
相关问题
c# 读取文件信息并响应展示在浏览器
你可以使用C#中的`File`类读取文件信息,然后将读取到的内容响应展示在浏览器中。以下是一个简单的示例代码:
```csharp
using System;
using System.IO;
using System.Web;
public class FileHandler : IHttpHandler {
public void ProcessRequest(HttpContext context) {
string filePath = context.Server.MapPath("file.txt"); // 文件路径
string fileContent = File.ReadAllText(filePath); // 读取文件内容
context.Response.ContentType = "text/plain";
context.Response.Write(fileContent); // 将文件内容响应到浏览器
}
public bool IsReusable {
get {
return false;
}
}
}
```
在以上示例代码中,我们首先通过`Server.MapPath`方法获取文件的绝对路径,然后使用`File.ReadAllText`方法读取文件内容,并将其响应到浏览器中。
最后,你可以将以上代码编译成 DLL 文件并在 IIS 中配置一个虚拟目录,将 HTTP 请求路由到该虚拟目录上,从而实现在浏览器中展示文件内容的目的。
c# 读取dat文件并重新写入dat文件
在 C# 中,可以使用 StreamReader 或 BinaryReader 类来读取 .dat 文件,使用 StreamWriter 或 BinaryWriter 类来重新写入 .dat 文件。下面是一个简单的示例代码,可以读取一个包含字符串的 .dat 文件,并将其写入另一个 .dat 文件:
```
string filePathIn = @"C:\dataIn.dat";
string filePathOut = @"C:\dataOut.dat";
using (StreamReader sr = new StreamReader(filePathIn))
{
using (StreamWriter sw = new StreamWriter(filePathOut))
{
string line;
while ((line = sr.ReadLine()) != null)
{
sw.WriteLine(line);
}
}
}
```
如果 .dat 文件中包含二进制数据,则可以使用 BinaryReader 和 BinaryWriter 类进行读取和写入。下面是一个示例代码:
```
string filePathIn = @"C:\dataIn.dat";
string filePathOut = @"C:\dataOut.dat";
using (FileStream fsIn = new FileStream(filePathIn, FileMode.Open))
{
using (BinaryReader br = new BinaryReader(fsIn))
{
using (FileStream fsOut = new FileStream(filePathOut, FileMode.Create))
{
using (BinaryWriter bw = new BinaryWriter(fsOut))
{
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = br.Read(buffer, 0, buffer.Length)) > 0)
{
bw.Write(buffer, 0, bytesRead);
}
}
}
}
}
```
请注意,这只是一个简单的示例,实际应用中需要考虑更多细节,例如文件编码、文件格式等。