Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将隐藏选项附加到C中的文件#_C#_Visual Studio_File_Filenames_Filepath - Fatal编程技术网

C# 将隐藏选项附加到C中的文件#

C# 将隐藏选项附加到C中的文件#,c#,visual-studio,file,filenames,filepath,C#,Visual Studio,File,Filenames,Filepath,因此,我想将一些机密信息附加到程序中的文件中,VS2013会抛出一个异常,声明: An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll Additional information: The specified path format is not supported. 对于线路: string metafile = filename + ":key"; StreamWri

因此,我想将一些机密信息附加到程序中的文件中,VS2013会抛出一个异常,声明:

An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll

Additional information: The specified path format is not supported.
对于线路:

string metafile = filename + ":key";
StreamWriter metadata = new StreamWriter(metafile);

我怎样才能解决这个问题?我需要它,因为这样我可以用命令“notepad file.txt:key”在控制台中检查它。

StreamWriter构造函数将尝试用您传递给它的字符串的名称打开文件()--假设这是Windows系统,文件名不能包含冒号,因此出现“不支持路径格式”异常

可以尝试使用下划线而不是冒号,例如:

string metafile = filename + "_key";

添加到文件名中的内容如何保密?您可以添加一个例外字符串,但记事本无法对其进行测试。这听起来像是一个错误。我不认为名字模糊/隐藏的文件是保存程序选项的正确方法。那注册表呢,还是一个可见(但加密)的文件呢?这就是我要说的,我想访问这种文件扩展名。在代码“filename+”:key.txt“中也会引发相同的异常…没有迹象表明记事本访问过任何此类文件。file.txt:a创建了一个隐藏的”文件“到可以用控制台打开的程序,并随文件一起移动。所以,如果我创建a.txt:a并将其移动到其他地方,名称为b.txt:a,它将具有相同的内容。(我假设我们在这里谈论的是Windows,如果不是,那就另当别论了!)有一些方法可以解决这个问题(例如,你可以对一个包含非法字符的文件进行回声处理,例如,“echo something>file:unlockle.txt”),但如果在C中有这样做的方法,我不知道。托管代码可能不允许这样做。如果没有其他问题,听起来你是在追求隐蔽性的安全性,而隐蔽性的成功通常是有限的——正如一些人所建议的那样,使用某种类型的加密可能会更好。不管怎样,祝你好运!在使用谷歌、维基百科等网站半小时后,我发现了一个有趣的条目。