问题是这样的:一个程序由windows移到linux下去时,FileInputStream访问不了windows下的文件。出现这样的问题:
“F:/学生名单/07级三班.xls (No such file or directory)”
windows下面有盘符,而linux是从根开始的。怎么才能解决这样的问题呢?

解决方案 »

  1.   

    没办法,因为 windows下面有盘符,而linux是从根开始的。怎么才能解决这样的问题呢?  
    程序中最好用相对路径
    个人见解
      

  2.   

    最好把这种F:/学生名单/07级三班.xls  放到配置文件中进行配置 
    解耦合
      

  3.   

    request.getSession().getServletContext().getRealPath(java.lang.String path) 取当前物理路径,java.io.File.separatorChar 代替分隔符
      

  4.   

    当然是用相对路径了。。windows跟linux下那个/\
      

  5.   

    linux和windows的目录结构不同“F:/学生名单/07级三班.xls linux下没有盘符这个东西的,他是树状目录结构,你看下都应该看的出来的,这样的路径可定不能,如果你是同一台机子双系统一直的话,你可以在linux先挂载windows的分区(百度搜一下一大堆,我就不写咯)然后把路径改到挂载分区后的路径