黑马程序员技术交流社区

标题: 主函数传值问题 [打印本页]

作者: 王靖远    时间: 2013-7-4 23:32
标题: 主函数传值问题
本帖最后由 杨兴庭 于 2013-7-5 11:43 编辑

我要用主函数传一个文件的路径,但是这个文件的路径名里面有空格,复制过去就会被认为空格前是一个值,空格后是一个值,怎么办?
作者: 杨兴庭    时间: 2013-7-5 07:31
本帖最后由 杨兴庭 于 2013-7-5 07:58 编辑

原来靖远兄也有问题啊,文件的路径是个字符串,可以将字符串切割后装在数组里,遍历下数组去除空格,应该就OK了吧,虽然这个方法有点笨,但很实用
作者: 陈雨    时间: 2013-7-5 08:06
前后有空格用String trim()方法,中间有空格可以考虑用正则替换掉,稍微麻烦一点方法就是放到StringBuiderl里面,然后遍历,获取空格的位置,然后delete(),最好的方法就路径里面不写空格!
作者: 贾永长    时间: 2013-7-5 09:24
要求:你意思是不是让主函数传一个地址(在dos命令行里),复制过去有空格,为避免让虚拟机误认为空格前一个、空格后一个呢。
代码:
  1. public class PathDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(args[0]); //输出数组args的第一个元素:是一个完整地址的话,就说明空格前后问题解决了。
  6.         }
  7. }
复制代码
说明:比如传的地址为:D:\java\A a       在dos里面这样解决:在A a前面加上转义字符\和双引号"  即:\"
演示图:

不知这样回答跑题没。。。。。。{:soso_e140:}

PathDemo.jpg (93.86 KB, 下载次数: 0)

PathDemo.jpg

作者: 赵海洋    时间: 2013-7-5 09:40
哎,我又是来说废话的,如果问题已解决,请将帖子改为已解决。。。。。
作者: 王靖远    时间: 2013-7-5 11:10
贾永长 发表于 2013-7-5 09:24
要求:你意思是不是让主函数传一个地址(在dos命令行里),复制过去有空格,为避免让虚拟机误认为空格前一 ...

嗯嗯 就是这个意思 虽然我用别的方式解决了但是你这样很省事。
作者: 王靖远    时间: 2013-7-5 11:11
赵海洋 发表于 2013-7-5 09:40
哎,我又是来说废话的,如果问题已解决,请将帖子改为已解决。。。。。

我也想改可是没权限啊,麻烦版主大哥帮我改成已解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2