前些天遇到一个问题,困扰了好久,现在终于解决了。

问题:上传的图片不能正确显示。

我的开发环境是在Windows下,工程在Windows下能正常部署,上传的图片也可以正常的显

示。但是把工程部署在服务器上的时候,图片总是不能显示,很是让人郁闷,后来在网上找了

各种资料,问题终于解决了。

文件路径的分隔符在windows系统和linux系统中是不一样。

比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:

File file1 = new File (“C:\tmp\test.txt”);

在Linux下则是这样的:

File file2 = new File (“/tmp/test.txt”);

而我刚开始就是按照File file1 = new File (“C:\tmp\test.txt”);这种方式写的,在

Windows下没有问题,但是将工程部署在服务器上时,就出问题了。服务器是linux系统,所

以这时文件路径就出错了。后来将分隔符用File.separator 代替,ok,问题解决了。下边介

绍下File.separator 。

如果要考虑跨平台,则最好是这么写:
File myFile = new File(“C:” + File.separator + “tmp” + File.separator, “test.txt”);

File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。

separatorChar

public static final char separatorChar

与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 ‘/’;在 Microsoft Windows 系统上,它为 ‘\’。

separator

public static final String separator

与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。

pathSeparatorChar

public static final char pathSeparatorChar

与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ‘:’;在 Microsoft Windows 系统上,它为 ‘;’。

pathSeparator

public static final String pathSeparator

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。

最新文章

  1. viewport
  2. [转] Spring注解@Component、@Repository、@Service、@Controller区别
  3. paip.解决中文url路径的问题图片文件不能显示
  4. windows7操作系统64位安装ArcSDE10.1和Oracle11g
  5. 使用java解析和制作二维码
  6. oracle权限的分配
  7. THML结构语义化之table/form
  8. document.querySelectorAll() 与document.getElementTagName() 的区别
  9. 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
  10. 【开发技术】java异常的捕获与抛出原则
  11. 自兴人工智能------Python语言的变量认识及操作
  12. centos7配置固定ip
  13. windows服务器的误解
  14. openresty(完整版)Lua拦截请求与响应信息日志收集及基于cjson和redis动态路径以及Prometheus监控(转)
  15. Dynamics 365Online Server-Side OAuth身份认证
  16. 【比赛】NOIP2017 总结
  17. Oracle存储过程生成日期维度
  18. PAT-A 1009. Product of Polynomials
  19. GPON介绍及华为OLT网关注册配置流程(转)
  20. Oracle 用户

热门文章

  1. eclipse 将文件夹作为sourcefolder
  2. CoreData概略
  3. Core Data (2)-备用
  4. The Contiki build system 编译系统
  5. Delphi 实现任务栏多窗口图标显示(使用WS_EX_APPWINDOW风格)
  6. linux环境c++开发:ubuntu12.04使用llvm3.4.2
  7. C++初始化列表问题
  8. libeXosip2(1-2) -- How-To initiate, modify or terminate calls.
  9. tcp 状态示码 及 三次握手
  10. Python Cookie HTTP获取cookie并处理