这个题目其实有点大了,其实说的问题很小。大家都说java是跨平台的,可是用java写出来的代码能不能真正的跨平台还是要开发人员来把握。

我今天看到一位朋友给JDBMonitor提出的一条bug:

"如果我的系统是linux,那个listenerconfig=就难写了,因为我要是写成/root/什么的,他会认为是classpath,实际上这是个物理路径,期待改进"

因为在上一个小版本中,我为了同时适应用户通过类路径指定配置文件的位置,比如,com/cownew/config.xml,也能通过真实的文件路径制定文件的位置,比如c:/config.xml

所以我就要判断用户给出的路径是类路径还是文件路径,我的实现方式是判断路径是否以a-z的字母开头,并且后边跟着":/",如果是,则为文件路径,否则为类路径。

但是在unix(linux)下,绝对路径则是/root/cfg/config.xml的形式,我就给误判断成是类路径了。这样在这些平台下就报错了,我采用如下方式解决:

JDBMonitor会首先把当成类路径去读取,如果读取失败再把它当作文件路径去读,例如如果您设定/root/cfg/config.xml,本意是想加载文件路径/root/cfg/下的文件config.xml,但是如果您的类路径中有root.cfg这个包,并且包下同样有config.xml这个文件,那么JDBMonitor会去读root.cfg中的文件config.xml,而非/root/cfg/config.xml。

示意代码如下:

InputStream is = null;

is = this.getClass().getResourceAsStream(configFile);

if(is==null)

{

try

{

is = new FileInputStream(configFile);

} catch (FileNotFoundException e)

{

is = null;

}

}

不知道有没有更好的办法解决,请高手指教。有时间也去看看那些tomcat之类的服务器是怎么解决这个问题的。

java语言 跨平台_Java语言不一定就跨平台相关推荐

  1. java生日正则表达式_Java语言十五讲

    前言 每年技术媒体都会评选最受欢迎的编程语言,Java总是高居前位.自然,没有办法说一个语言绝对比另一种语言好,这个话题一如既往地会引起大家无谓的争论不休.对别的行业的人来讲也许会觉得莫名其妙,但是对 ...

  2. java未来发展潜力_Java语言未来是否还有发展前景

    首先,从当前Java语言的技术布局情况和行业应用情况来看,未来在较长一段时间内,Java语言都将是IT互联网行业内非常重要的编程语言之一,而且由于Java语言在大数据.云计算和物联网等领域也都有比较广 ...

  3. java 方法 示例_Java语言环境getAvailableLocales()方法与示例

    java 方法 示例 区域设置类getAvailableLocales()方法 (Locale Class getAvailableLocales() method) getAvailableLoca ...

  4. java基础考试_Java语言基础试题及答案

    Java语言基础试题及答案 引导语:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.以下是小编整理的Java语言基础试题及答案,欢迎参考阅读! 1.浮点型数据根据数据存储长度和数值精度的 ...

  5. 算法java语言描述_java语言描述数据结构与算法崔笑颜的博客

    java语言描述数据结构与算法崔笑颜的博客 冒泡排序 插入排序 选择排序 希尔排序 快速排序 归并排序 二分查找package com.demo.test; import java.util.Arra ...

  6. java继承构造_Java语言的继承结构

    Java语言的继承结构 导语:Java语言找那个多个具体的对象,不断的向上抽取共享的内容,最终形成了一个体系,就是继承体系.下面是Java语言的继承结构,欢迎参考! (1)把很多类的相同特征和行为进行 ...

  7. java前沿技术_Java语言就业前景如何?这4个就业方向都很吃香

    作为最受欢迎的编程语言,Java一直深受初学者的喜爱,.很多初学者在学Java前,都会问到石家庄Java培训就业方向有哪些?学习Java前景如何?今天,千锋石家庄Java培训小编就针对这些问题为大家解 ...

  8. java填空题_Java语言基础知识填空题

    Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...

  9. java语言模拟_Java语言模拟操作系统.doc

    河北大学2010级操作系统课程设计论文 PAGE PAGE 27 装订线 装 订 线 (指导教师用表) 学 生 姓 名 指 导 教 师 论文(设计)题目 Java语言模拟操作系统 主要研究 (设计)内 ...

  10. java二叉树代码_JAVA语言实现二叉树生成的代码教程

    本文主要向大家介绍了JAVA语言实现二叉树生成的代码教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 给定某二叉树三序遍历中的两个,我们即可以通过生成该二叉树,并遍历的方法,求出剩 ...

最新文章

  1. SAP 物料主数据里的Commodity Code
  2. 读取并修改App.config文件(转载)
  3. python语言if语句-Python在if语句中等同于(logical-and)
  4. Android开发--Service和Activity通过广播传递消息
  5. maven 构建web程序出现问题
  6. Python这门语言为什么适合初学者?88.7%的小白听了会感谢选择它
  7. 【python 图像处理】skimage的子模块介绍
  8. win8 iis8 asp.net 图片访问需登录
  9. CentOS+Nginx+Supervisor部署ASP.NET Core项目
  10. 【GoLang】golang 最佳实践汇总
  11. HDU 4746 Mophues(莫比乌斯反演)题解
  12. DB2报错原因汇总(sqlcode sqlstate)
  13. 蒙圣光:2018年IT行业的八大趋势
  14. 局域网常见问题解决方案之你可能没有权限使用网络资源无法访问网上邻居
  15. CSS 教程(全)+代码
  16. 4月书讯 | 一大波好书来袭,最美华章四月天
  17. Python——>图像的字符画绘制
  18. deepin 20 推荐邮件客户端 Bluemail 邮箱
  19. java structs,国内最早Struts专题Java - 解道Jdon
  20. android获取后一天日期,android获取本周本月本年的第一天和最后一天

热门文章

  1. Js打印object对象两种方法
  2. Python input()和raw_input()的区别
  3. HDU 5586 Sum
  4. 企业日志分析之linux系统history收集展示
  5. Hibernate不能自动建表解决办法【转载】
  6. LINUX进程内存占用查看
  7. 3.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的管理运维
  8. 7.docker pull
  9. 68. 超越 Gzip 压缩
  10. 6. php 基本语法