c#读取一个文件夹中的文件?高分送.不够再给100分.

signalgao 2004-05-08 11:28:07
读出一个文件夹中的所有文件(文件数从0个到N多不定).没有文件返回假.
都是ascii码文件.
读每个文件的前一部分至出现第一个 /s./s/r 为止.
读出来放后放至string[] filetsr中.
请高手作答 .
谢谢!
...全文
881 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
挣分不容易,今天还没开张,你的分有多的话就多给点吧!
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
试试看,没来得及调试,有问题自己改改吧!

using System;
using System.IO;

class Test
{
public static void Main()
{
try
{
// Only get files that begin with the letter "c."
int i=0;
string[] dirs = Directory.GetFiles(@"c:\", "c*");
Console.WriteLine("The number of files starting with c is {0}.", dirs.Length);
string[] filetsr=new String[dirs.Length];
foreach (string dir in dirs)
{
FileStream fs = new FileStream(dir,FileMode.Open);
byte[] readBuf=new byte[fs.Length];
syncF.Read(readBuf,0,fs.Length);

data = Encoding.ASCII.GetString(readBuf);
if (data.IndexOf("/s./s/r") > -1)
{
i++;
filestr[i]=Microsoft.Basic.Left(data.IndexOf("/s./s/r") -1)
}

}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
lihao9806 2004-05-08
  • 打赏
  • 举报
回复
strFiles = Directory.GetFiles(@"c:\Import");
foreach(string strFile in strFiles)
{
File.Move(strFile,strFile.Replace("Import","Rubbish_Files"));
上面这句换为你的处理。
}
gabriel1 2004-05-08
  • 打赏
  • 举报
回复
用foreach语句读取
signalgao 2004-05-08
  • 打赏
  • 举报
回复
顶呀.
一头雾水.
lwjlwj 2004-05-08
  • 打赏
  • 举报
回复
DirectoryInfo 下GetFiles()属性,用foreach遍历出来即可
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
fs.Read(readBuf,0,(Convert.ToInt32(fs.Length)));
楼主注意需要重新生成项目。
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
using System;
using System.IO;
using Microsoft.Baisc;
using System.Text;
signalgao 2004-05-08
  • 打赏
  • 举报
回复
F:\c#\testdir\Class1.cs(19): 与“System.IO.Stream.Read(byte[], int, int)”最匹配的重载方法具有一些无效参数
F:\c#\testdir\Class1.cs(21): 找不到类型或命名空间名称“Encoding”(是否缺少 using 指令或程序集引用?)
F:\c#\testdir\Class1.cs(25): 类型或命名空间名称“Basic”在类或命名空间“Microsoft”中不存在(是否缺少程序集引用?)
你那里有.NET的话你调试一下.

fs.Read(readBuf,0,fs.Length);
我改成了. fs.Read(readBuf,0,Convert.ToInt64(fs.Length));还是不行.
麻烦你看一下.


CMIC 2004-05-08
  • 打赏
  • 举报
回复
我也没测试,你自己是吧
private object ReadFiles(string pPath)
{
System.IO.DirectoryInfo mDir=new System.IO.DirectoryInfo(pPath);
if(mDir.GetFiles().Length==0)
{

}
else
{
System.Collections.ArrayList mList=new System.Collections.ArrayList();
foreach(FileInfo mFile in mDir.GetFiles())
{
FileStream mFileStm=mFile.Open(FileMode.Open);
int mFileLen=(int)mFileStm.Length;
byte[] mBytes=new byte[mFileLen];
mFileStm.Read(mBytes,0,mFileLen);
mFileStm.Close();

string mFileString=System.Text.Encoding.ASCII.GetString(mBytes);
int mIntIndex=mFileString.IndexOf(@"/s./s/r");
if(mIntIndex!=-1)
{
mList.Add(mFileString.Substring(0,mIntIndex));
}
}
if(mList.Count!=0)
{
string[] filetsr=new string[mList.Count];
mList.CopyTo(filetsr);
return filetsr;
}
}
return false;
}
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
using System;
using System.IO;

class Test
{
public static void Main()
{
try
{
// Only get files that begin with the letter "c."
int i=0;
string[] dirs = Directory.GetFiles(@"c:\", "c*");
Console.WriteLine("The number of files starting with c is {0}.", dirs.Length);
string[] filetsr=new String[dirs.Length];
foreach (string dir in dirs)
{
FileStream fs = new FileStream(dir,FileMode.Open);
byte[] readBuf=new byte[fs.Length];
fs.Read(readBuf,0,fs.Length);

string data = Encoding.ASCII.GetString(readBuf);
if (data.IndexOf("/s./s/r") > -1)
{
i++;
filestr[i]=Microsoft.Basic.Left(data.IndexOf("/s./s/r") -1)
}

}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}

^_^ 不好意思,还是你观察仔细。
signalgao 2004-05-08
  • 打赏
  • 举报
回复
syncF 和data 都没定义.
楼上的写仔细一点行不?

谢谢
【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是一份关于“光伏并网逆变器扫频与稳定性析”的Simulink仿真实现资源,重点复现博士论文的阻抗建模与扫频法验证过程,涵盖锁相环和电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为与失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性析流程;③复现高水平学术论文的关键技术环节,支撑科研项目或学位论文工作;④为实际工程并网逆变器的稳定性问题提供仿真析手段。; 阅读建议:建议读者结合相关理论教材与原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环与电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗析法的理解与应用能力。
本资源文件包含了使用STM32F103C8T6微控制器驱动ILI9341 2.8寸TFT LCD液晶显示模块的相关代码和配置文件。该项目的硬件电路采用模块化设计,STM32微控制器为某宝购买的最小系统板,液晶模块为某宝购买的自带ILI9341驱动的板。由于STM32F103C8T6为48脚芯片,不具备FSMC(灵活静态存储控制器)功能,因此采用了模拟方式进行16位显示(使用A端口0~15)。 功能特点 硬件模块化设计:采用模块化硬件电路搭建,方便扩展和维护。 模拟16位显示:由于STM32F103C8T6不具备FSMC功能,采用模拟方式进行16位显示。 ILI9341驱动:液晶模块自带ILI9341驱动,简化了驱动程序的开发。 注意事项 触屏输入暂未实现:目前资源文件暂未包含触屏输入的实现代码,如有需要,请自行开发或参考相关资料。 硬件兼容性:请确保所使用的STM32F103C8T6最小系统板和ILI9341液晶模块与本资源文件的配置兼容。 使用说明 下载资源文件:下载并解压本资源文件。 导入工程:将解压后的工程文件导入到你的开发环境(如Keil、IAR等)。 配置硬件:根据你的硬件配置,调整代码的引脚定义和相关参数。 编译与下载:编译工程并下载到STM32F103C8T6微控制器。 测试与调试:运行程序,测试液晶显示功能,并根据需要进行调试和优化。
项目名称:基于可编程门阵列的二维卷积运算识别系统 本项目完整呈现了运用现场可编程门阵列技术实现二维卷积识别功能的完整解决方案。系统包含经过验证的硬件设计源码、详尽的技术说明文件、完整实验数据集及深度析报告。 项目技术特色: 1. 本设计已通过学术导师专业审核,在结题答辩环节获得95的优异评价 2. 所有硬件描述语言代码均通过功能仿真与板级测试,各项识别功能运行稳定可靠 3. 系统架构采用并行处理机制,通过流水线设计显著提升卷积运算效率 4. 提供完整的项目开发文档,包括设计规范、测试方案和性能析报告 适用对象: 本资源特别适合电子工程、计算机科学、智能系统、信息处理、自动控制及相关专业领域的在校师生、科研人员及工程技术人员参考使用。既可作为数字电路课程设计、毕业设计的优质案例,也可作为FPGA开发入门到精通的实践教材。具备一定数字电路基础的开发者可基于现有架构进行功能扩展和性能优化,直接应用于科研项目或工程实践。 技术文档包含完整的系统设计思路、接口定义方案、时序析数据和资源利用率报告,为学习者提供从理论到实践的完整技术路径。 资源来源于网络享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

111,119

社区成员

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

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

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