Skip to content

Commit 0d68213

Browse files
authored
Update FilesSignature.cs (#1087)
做了以下几点改动: 1.使用 Path.Combine() 确保路径的正确性,使其在各系统下均能兼容 2.修复了代码中的一些变量命名和拼写错误 3.对文件处理部分做了优化
1 parent 4d01bb2 commit 0d68213

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

General/Src/FilesSignature.cs

+18-15
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,54 @@ namespace XLua
66
{
77
public class FilesSignature
88
{
9-
static void useage()
9+
static void usage()
1010
{
1111
Console.WriteLine("FilesSignature from_path to_path");
1212
}
1313

1414
static void doSignature(string from, string to, SHA1 sha, RSACryptoServiceProvider rsa)
1515
{
16-
if(!Directory.Exists(to))
16+
if (!Directory.Exists(to))
1717
{
1818
Directory.CreateDirectory(to);
1919
}
20-
foreach(var filename in Directory.GetFiles(from, "*.lua"))
20+
foreach (var filename in Directory.GetFiles(from, "*.lua"))
2121
{
2222
byte[] filecontent = File.ReadAllBytes(filename);
2323
byte[] sig = rsa.SignData(filecontent, sha);
24-
FileStream fs = new FileStream(to + "/" + Path.GetFileName(filename), FileMode.Create);
25-
fs.Write(sig, 0, sig.Length);
26-
fs.Write(filecontent, 0, filecontent.Length);
27-
fs.Close();
24+
string sigFilePath = Path.Combine(to, Path.GetFileName(filename));
25+
using (FileStream fs = new FileStream(sigFilePath, FileMode.Create))
26+
{
27+
fs.Write(sig, 0, sig.Length);
28+
fs.Write(filecontent, 0, filecontent.Length);
29+
fs.Flush();
30+
}
2831
}
29-
foreach(var dir in Directory.GetDirectories(from))
32+
foreach (var dir in Directory.GetDirectories(from))
3033
{
31-
32-
doSignature(dir, to + "/" + new DirectoryInfo(dir).Name, sha, rsa);
34+
string newDir = Path.Combine(to, new DirectoryInfo(dir).Name);
35+
doSignature(dir, newDir, sha, rsa);
3336
}
3437
}
3538

3639
public static void Main(string[] args)
3740
{
38-
if (!File.Exists("key_ras"))
41+
if (!File.Exists("key_rsa"))
3942
{
40-
Console.WriteLine("no key_ras!");
43+
Console.WriteLine("No key_rsa file found!");
4144
return;
4245
}
4346

4447
if (args.Length != 2)
4548
{
46-
useage();
49+
usage();
4750
return;
4851
}
4952

5053
SHA1 sha = new SHA1CryptoServiceProvider();
5154
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
52-
rsa.FromXmlString(File.ReadAllText("key_ras"));
55+
rsa.FromXmlString(File.ReadAllText("key_rsa"));
5356
doSignature(args[0], args[1], sha, rsa);
5457
}
5558
}
56-
}
59+
}

0 commit comments

Comments
 (0)