从大字符串中剥离非ASCII字符

时间:2018-06-22 14:29:15

标签: java performance peoplesoft

每月一次或两次,我们的Peoplesoft批处理流程中的一个出错。通常在第二次尝试时运行正常,向我表明问题可能出在环境方面。但是,由于问题涉及23M字符串,因此我想研究除了增加堆大小以外的其他可能性。

当前的Peoplesoft代码如下所示:

Local JavaObject &jString_student;
Component XmlDoc &student_xmlDoc;
Local string &xmlStr_email;

&jString_student = CreateJavaObject("java.lang.String", &student_xmlDoc.GenFormattedXmlString());
&xmlStr_email = &jString_email.replaceAll("^\x20-\x7F\x0a\x0d]", "");

又甜又甜,对吗?对于较小的文件,它将是。我以为我可以将GenFormattedXmlString()的结果保留为常规字符串,使用Split创建数组,并独立处理每一行。不过,我担心这会影响性能,因为我不太了解处理半百万个小字符串而不是一个大字符串要花费多少时间。 (我必须为每一行执行CreateJavaObject,对吧?)

此外,是否有直接PS方式可以做到这一点,并避免这种方式的问题?谢谢。

0 个答案:

没有答案