Informatica java转换内存不足异常

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";

我已经编写了一个java代码,当我在本地执行时,它工作得非常好。但从informatica调用时会出现内存不足异常。我正在读取一个文件,拆分内容并替换同一文件的内容

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。