strFilePath = System.Web.HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
strFilePath = str + "ApInterface_" + Format(Now.Date, "dd-MMM-yyyy").Replace("-", "") + "_" + Format(Now, "HH:mm:ss").Replace(":", "") + ".dat"
我有上面的代码片段,它将文件保存在指定文件夹中的.dat扩展名中。我的问题是关于路径。当我指定路径类似" D:\ myfolder& #34; ,数据将被导出,文件将被打开,但不会被保存。如果我将文件夹指定为" D:\ myfolder \" 它完全保存了为什么我需要"\"
并结束?
任何人都可以解释一下。请帮忙。这很紧急!急切地等待答案
答案 0 :(得分:0)
使用Path.Combine代替字符串连接。它会根据需要添加斜杠。
答案 1 :(得分:0)
你的代码不应该是这样的:
strFilePath = System.Web.HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
strFilePath = strFilePath + "ApInterface_" + Format(Now.Date, "dd-MMM-yyyy").Replace("-", "") + "_" + Format(Now, "HH:mm:ss").Replace(":", "") + ".dat"
目前看来,没有解释什么" str"成立。
假设以上是正确的,你需要" \"是因为没有它,有两条截然不同的路径:
第一个引用名为" myfolderApInterface_01012001_010101.dat"的文件。在" D"的根目录中驱动器,而第二个引用一个名为" ApInterface_01012001_010101.dat"在" myfolder" " D"的目录驱动。
正如其他人提到的那样,你可以使用Path.Combine来解决一下" \"已存在并仅在需要时添加。
P.S。您可能还需要考虑使用string.Format来构建文件名以提高可读性