其中是在二进制写入程序中未指定路径时的文件所在位置

本文关键字:文件 路径 位置 程序 二进制 未指定 | 更新日期: 2023-09-27 17:57:29

我试图查看生成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();

其中是在二进制写入程序中未指定路径时的文件所在位置

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

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

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

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

默认情况下,我相信当前目录将被设置为启动进程的EXE的位置,但有些事情可能会改变这一点,例如快捷方式的"启动文件夹"参数。或者之前在进程中运行并设置"当前目录"的任何其他代码。FilePicker对话框往往会这样做。