我们有文件夹“TDScript”,其中有11个子文件夹,在这些文件夹中我们每个文件夹有23个JavaScript文件。
现在我想将每个java脚本文件中的“Table”一词替换为各自文件夹的名称。
我通过这段代码。我们只能读取文件名,但不能读取文件中的数据。
代码:
protected void BindGridview()
{
string strpath = @"e:\vs\tdscripts";
string[] folders = Directory.GetDirectories(strpath, "*", SearchOption.AllDirectories);
string[] files = Directory.GetFiles(strpath, "*", SearchOption.AllDirectories);
foreach (string f in folders)
{
listBox1.Items.Add(f);
foreach (string item in files)
{
listBox2.Items.Add(item);
}
}
}
private void button1_Click(object sender, EventArgs e)
{
BindGridview();
}
答案 0 :(得分:1)
如果没有测试,我认为以下应该适合您
protected void BindGridview()
{
string strpath = @"e:\vs\tdscripts";
DirectoryInfo di = new DirectoryInfo(strpath);
foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
{
string content = File.ReadAllText(file.FullName, Encoding.Default);
content = content.Replace("Table", file.Directory.Name);
File.WriteAllText(file.FullName, content, Encoding.Default);
}
}
答案 1 :(得分:0)
您只是获取该文件夹中的File
和Folder
个名称。
要阅读文件的内容,您可以使用File.ReadAllText
方法或System.IO中的任何其他方法来读取文件的数据。