public void copyFile(string src, string dst) { byte[] src_data; src = src.Trim(); dst = dst.Trim(); if (!src.ToLower().StartsWith("sd:") && File.GetAttributes(src).HasFlag(FileAttributes.Directory)) { copyFolder(src, dst); return; } if (dst.EndsWith("/") || dst.EndsWith("\\")) { dst += Path.GetFileName(src); } Console.WriteLine("copy file: " + src + " to " + dst); if (src.ToLower().StartsWith("sd:")) { src = src.Substring(3); src_data = new byte[edio.fileInfo(src).size]; edio.fileOpen(src, Edio.FAT_READ); edio.fileRead(src_data, 0, src_data.Length); edio.fileClose(); } else { src_data = File.ReadAllBytes(src); } if (dst.ToLower().StartsWith("sd:")) { dst = dst.Substring(3); edio.fileOpen(dst, Edio.FAT_OPEN_ALWAYS | Edio.FAT_WRITE); edio.fileWrite(src_data, 0, src_data.Length); edio.fileClose(); } else { File.WriteAllBytes(dst, src_data); } }