gpt4 book ai didi

java.lang.OutOfMemoryError,将文件中的文本转换为UTF-8编码

转载 作者:行者123 更新时间:2023-12-01 17:25:01 26 4
gpt4 key购买 nike

我有一个很大的文本文件,其中有一些用印地语和德语编写的内容。我想将每个特殊字符转换为 UTF-8 编码。 (逐行)

我正在使用这段代码,但它给了我一个错误:

线程“main”中出现异常java.lang.OutOfMemoryError:Java堆空间 在 java.util.Arrays.copyOf(Arrays.java:3332) 在java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) 在 java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:566) 在 java.lang.StringBuilder.append(StringBuilder.java:181) 在ConvertUTF.main(ConvertUTF.java:47)

这是代码:


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.InputStream;

public class ConvertUTF {

public static void main(String[] args){

try {

InputStream is = null;
is = new FileInputStream("file.txt");
BufferedReader in = new BufferedReader(
new InputStreamReader(is, "UTF8"));

int str;


char[] cbuf = new char[is.available()];
int i=1;
StringBuilder sb1 = new
StringBuilder("");
while ((str = (in.read(cbuf,0,8))) != 0 && i<7) {
sb1.append(cbuf);


}

System.out.print(sb1);

in.close();



}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}


}

最佳答案

BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("file.txt"), "UTF-8"));

尝试使用 UTF-8 而不是 UTF8

关于java.lang.OutOfMemoryError,将文件中的文本转换为UTF-8编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61223060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com