gpt4 book ai didi

java - 从文本读取 srt 文件时出现奇怪的字符

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

我尝试将文件读取为字符串,我尝试将其编码为 UTF-8 但仍然失败,它在输出中返回一些奇怪的字符。

这是我读取文件的函数:

private static String readFile(String path, boolean isRaw) throws UnsupportedEncodingException, FileNotFoundException{
File fileDir = new File(path);
try{
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream(fileDir), "UTF-8"));

String str;

while ((str = in.readLine()) != null) {
System.out.println(str);
}

in.close();
return str;
}
catch (UnsupportedEncodingException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return null;
}

第一行的输出为:��1

这是我的测试文件https://www.dropbox.com/s/2linqmdoni77e5b/How.to.Get.Away.with.Murder.S01E01.720p.HDTV.X264-DIMENSION.srt?dl=0

提前致谢。

最佳答案

此文件以 UTF16-LE 编码,并具有 Byte order mark这有助于确定编码。使用 "UTF-16LE" 字符集(或 StandardCharsets.UTF_16LE)并跳过文件的第一个字符(例如,调用 str.substring(1) 在第一行)。

关于java - 从文本读取 srt 文件时出现奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003360/

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