[语法] 阵列中资料存逗号的截断问题

楼主: conlich (clcy)   2016-12-21 10:55:00
各位前辈好:
小弟是java新手,最近在写一个功能时需要把文字塞进阵列里,但是再塞到另一个
阵列时会发生如果第一次的文字内容里包含逗号就会被截断。导致资料不完全。
查了一下应该是因为阵列是用逗号来分隔资料,所以当文字中有包含逗号就会有问题
请问各位有什么解法吗?
谢谢大家。
补充: sm这是市面上的开发工具所附的class
String file[]=null;
file = new String[1];
file[0]="abc,efg";
sm(pop3Server, smtpServer, mailAddress, subject, contents, file, "text/html");
sm的file是 java.lang.String[]
楼主: conlich (clcy)   2016-12-21 10:56:00
如果理解错误也请前辈指导一下
作者: LZN (秋)   2016-12-21 11:38:00
把你的做法贴出来看看吧
作者: ssccg (23)   2016-12-21 13:08:00
阵列不是用逗号分隔,问题是你用的是什么阵列
楼主: conlich (clcy)   2016-12-21 13:26:00
如上面补充:file里的资料会变成只有abc
作者: dannypsnl (秦书)   2016-12-21 13:39:00
我刚试了,不会啊,file[0]还是abc,efg
楼主: conlich (clcy)   2016-12-21 13:41:00
所以有可能是sm这个class搞得鬼,我用System.out.println去看也是,但一丢进sm里执行就会有问题.对了,sm这个功能是要寄e-mail的功能,file会去夹档案不知道有没有关系,抱歉忘了说明这点
作者: LZN (秋)   2016-12-21 16:13:00
你的code没有"再塞到另一个阵列"的行为, 可能要看sm这method的文件看是否有针对file参数的详细说明
楼主: conlich (clcy)   2016-12-21 16:33:00
不好意思,sm的file是String[],所以我认为是塞到另一阵列不知道这样子算不算??
作者: j16598231 (荥䴖)   2016-12-21 16:44:00
你要进去看sm里面是怎么实作的。然后要再看一下java是怎么传参数的。
楼主: conlich (clcy)   2016-12-21 17:00:00
好的,但只有class能够看得到吗?
作者: gmoz ( This can't do that. )   2016-12-21 17:21:00
你说file里面只有abc是在哪里看的? 跑完sm之后再另外印出?如果是跑完sm再印出来看 那就是sm有对你的阵列做了修改不过一个寄信的小API 想不到有啥理由去动你的阵列可以说一下你是怎么知道file只有abc的吗? foreach印出来看?
楼主: conlich (clcy)   2016-12-21 17:29:00
是从error里看出来的,因为这里是附档名称,抓不到档案就会产生error了,看了才发现在逗号被截断了
作者: gmoz ( This can't do that. )   2016-12-21 17:51:00
谁吐的error? sm?如果只有一个元素,会不会跳ERROR? 确定丢进去的格式是对的?error可以贴出来看看吗用try-catch把sm包起来 然后再后面把file[]印出来看才能确定搞不好sm的error是跟你说第一个元素abc格式错了
楼主: conlich (clcy)   2016-12-21 18:23:00
java.io.FileNotFoundException: filepath\abc (系统找不到指定的档案。) <--- error这是sm吐出来的error
作者: ssccg (23)   2016-12-21 19:27:00
你自己想像太多了,sm讯息写的字串不是你原本丢进去的,有太多可能的原因,"阵列放到另一个阵列时截断"这点是不可能的...因为阵列就跟 , 一点关系都没有String[]只是存String物件的参考,复制根本不会动到内容而且String还是Immutable,那个讯息一定是sm内对传入的参数做其他处理后的结果
楼主: conlich (clcy)   2016-12-21 21:06:00
原来如此,所以是我个人想像,那我还是在前置作业想办法处理掉好了,谢谢。
作者: realmeat (真肉)   2016-12-23 10:51:00
String [] file = {"abc", "efg"};单纯语法搞错...
楼主: conlich (clcy)   2016-12-26 16:07:00
你好,我的档名是叫abc附档名叫efg,所以我是写入abc.efgfile[0]="abc,efg"; 这里的"abc.efg"是打错了,sorry误导
作者: gmoz ( This can't do that. )   2016-12-26 20:03:00
先问你一下 你的API有没有给范例或是文件
楼主: conlich (clcy)   2016-12-27 09:30:00
没有sample耶, 只有说API每个参数的型别,谢谢你。

Links booklink

Contact Us: admin [ a t ] ucptt.com