private void UploadFile(object sender, System.Timers.ElapsedEventArgs e) { timer.Stop(); while (files.Count > 0) { string file = files.Dequeue().ToString(); string filename = workDir + @"\" + file; string name = file.Replace("\\", "/"); if (InIgnore(name)) { Console.WriteLine("忽略文件修改: " + name); continue; } if (name == "index.js" || name == "main.js") { name = ".bootcde"; } string code = File.ReadAllText(filename); Console.WriteLine("正在写入文件: " + name); uart.SendFile(port, name, code); Console.WriteLine("文件写入完成: " + name); } timer.Start(); }
public void Path(string path) { path = (path == "" ? this.workDir : path); if (Directory.Exists(path)) { // 文件夹 string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories); foreach (string file in files) { string name = file.Replace(path + "\\", "").Replace("\\", "/"); if (InIgnore(name)) { continue; } if (name == "index.js" || name == "main.js") { name = ".bootcde"; } string code = File.ReadAllText(file); uart.SendFile(port, name, code); Console.WriteLine(name + " 写入完成"); // 这里需要暂停一下, 每个文件之间需要间隔一段时间, 否则容易造成单片机死机 Thread.Sleep(1000); } // uart.SendCode(port, "E.reboot();"); Console.WriteLine("全部文件已写入完成."); } else if (File.Exists(path)) { // 文件 string code = File.ReadAllText(path); uart.SendFile(port, path, code); return; } else { Console.WriteLine("文件或文件夹不存在: " + path); } }