Informatica java转换内存不足异常
我已经编写了一个java代码,当我在本地执行时,它工作得非常好。但从informatica调用时会出现内存不足异常。我正在读取一个文件,拆分内容并替换同一文件的内容Informatica java转换内存不足异常,java,informatica,Java,Informatica,我已经编写了一个java代码,当我在本地执行时,它工作得非常好。但从informatica调用时会出现内存不足异常。我正在读取一个文件,拆分内容并替换同一文件的内容 public static void main(String[] args) throws IOException { String delims = "#@#@#"; StringBuilder sb=null; String filepath = "FILE_PATH";
public static void main(String[] args) throws IOException {
String delims = "#@#@#";
StringBuilder sb=null;
String filepath = "FILE_PATH";
try {
FileReader in = new FileReader(filepath);
BufferedReader br = new BufferedReader(in);
sb= new StringBuilder();
sb.append(br.readLine());
in.close();
}
catch (Exception ex) {
}
StringTokenizer st = new StringTokenizer(sb.toString(), delims);
try {
FileWriter fw = new FileWriter(filepath, false);
while (st.hasMoreElements()) {
fw.write(st.nextToken() + System.getProperty("line.separator"));
}
fw.flush();
fw.close();
} catch (Exception ex) {
}
}
现在,读取大数据文件的内容时发生异常。对于小数据文件,它可以正常工作 文件大小为110mb-240mb。但是文件大小可能会进一步增加您是否可以使用PowerCenter加载文件并修改代码以一次处理一行?当将整个文件加载到内存中时,您总会在某个时候遇到OOM异常。实际上,文件中没有换行符。我试图用新行替换“#@#@#”分隔符。请建议一种方法,我们可以这样做。您不需要Java或PowerCenter。您可以使用sed或Bash中内置的字符串替换功能。在Windows上,您有PowerShell。