A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王靖远 金牌黑马   /  2013-7-4 23:32  /  1177 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-5 11:43 编辑

我要用主函数传一个文件的路径,但是这个文件的路径名里面有空格,复制过去就会被认为空格前是一个值,空格后是一个值,怎么办?

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3

查看全部评分

6 个回复

倒序浏览
本帖最后由 杨兴庭 于 2013-7-5 07:58 编辑

原来靖远兄也有问题啊,文件的路径是个字符串,可以将字符串切割后装在数组里,遍历下数组去除空格,应该就OK了吧,虽然这个方法有点笨,但很实用
回复 使用道具 举报
前后有空格用String trim()方法,中间有空格可以考虑用正则替换掉,稍微麻烦一点方法就是放到StringBuiderl里面,然后遍历,获取空格的位置,然后delete(),最好的方法就路径里面不写空格!
回复 使用道具 举报
要求:你意思是不是让主函数传一个地址(在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

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
哎,我又是来说废话的,如果问题已解决,请将帖子改为已解决。。。。。
回复 使用道具 举报
贾永长 发表于 2013-7-5 09:24
要求:你意思是不是让主函数传一个地址(在dos命令行里),复制过去有空格,为避免让虚拟机误认为空格前一 ...

嗯嗯 就是这个意思 虽然我用别的方式解决了但是你这样很省事。
回复 使用道具 举报
赵海洋 发表于 2013-7-5 09:40
哎,我又是来说废话的,如果问题已解决,请将帖子改为已解决。。。。。

我也想改可是没权限啊,麻烦版主大哥帮我改成已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马