在Binary Writer中未指定路径时文件位于何处?

时间:2013-02-04 22:24:58

标签: c# asp.net .net

我试着查看生成PE的bin文件夹,但是它没有保存在那里,我正在使用ASP.NEt webforms

string tempExcelFilePath = "tempExcel.xls";
FileStream fs = new FileStream(tempExcelFilePath, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(fileBytes);//fileBytes is an array of bytes= byte[]
bw.Close();

3 个答案:

答案 0 :(得分:0)

C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ tempExcel.xls

答案 1 :(得分:0)

文件的完整路径存储在代码中的fs.Name

答案 2 :(得分:0)

通常,当您为Windows API调用提供不包含任何路径信息的文件名(并且FileStream构造函数最终调用Windows函数时),它将在当前目录中查找该文件,每个进程设置,确定当前目录。对于相对路径也是如此(也就是说,如果您指定了“SubFolder \ tempExcel.xls”作为文件名。

您可以使用System.Environment.CurrentDirectory属性或System.IO.Directory.GetCurrentDirectory()方法轻松确定代码中的当前目录。您也可以使用相同的属性设置它(对于整个过程,不要忘记),或System.IO.Directory.SetCurrentDirectory()

默认情况下,我相信当前目录将被设置为启动进程的EXE的位置 - 但是有些东西可能会改变 - 例如,快捷方式的“Starting Folder”参数。或者在此过程中先前运行并设置了当前目录的任何其他代码。 FilePicker对话框倾向于这样做。