当前位置: 首页 > 面试题库 >

.NET Core中的跨平台文件名处理

苏高峰
2023-03-14
问题内容

如何以System.IO跨平台方式处理类中的文件名,以使其在Windows和Linux上都能正常工作?

例如,我编写了在Windows上可以完美运行的代码,但是在Ubuntu Linux上却没有创建文件:

var tempFilename = $@"..\Data\uploads\{filename}";
using (FileStream fs = System.IO.File.Create(tempFilename))
{
    file.CopyTo(fs);
    fs.Flush();                    
}

问题答案:

Windows使用反斜杠。Linux使用Slash。Path.Combine设置正确的符号:
Path.Combine方法-MSDN



 类似资料:
  • 问题内容: 我创建了一个小的python脚本。我将pickle文件保存在Linux上,然后在Windows上使用它,然后再次在Linux上使用它,但是现在该文件在Linux上不起作用,但是在Windows上可以正常工作。是这样,以便python是coss平台的,但pickle文件不是。有什么解决办法吗??? 问题答案: Python的泡菜是完全跨平台的。 这可能是由于Windows和Linux之间

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 需求:在外打工租房,与朋友合租。吃住费用管理麻烦。故利用业余时间开发此小软件。 工具:gcc,codeblocks,wxwidgets,opencv,sqlite(本人常用到开发工具) 特点:跨平台(win+linux) 使用说明:无。完全根据本人思路设计而成。暂时没有文档。 SVN源代码:http://householdmanagement.googlecode.com/svn/trunk/。c

  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)

  • 说明 由于在跨端开发中,必不可少的会遇到不同端需要有不同实现的情况。参考滴滴chameleon中的多态,megalo中实现了类似的跨平台兼容方案。需要使用时,请保证@megalo/target的版本号大于或等于0.7.2。 js的跨平台兼容 megalo中下面两种形式的引用会被特殊处理: [path-to-name]/[name]/index.mpjs [path-to-name]/[name]