有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

文件Java无法读取Ö(特殊字符)并打印它

我正在处理一个txt文件,其中的文本如下所示: 超人是所有法律高等教育的大师

我试图阅读这篇文章,并在另一个文档中打印出来,但当我打印时,它会打印出类似这样的内容 超人是所有法律高等教育的大师 [测试]

我想把确切的东西印在文件上,你能帮我吗? 这是我的密码:

    BufferedReader inputStream = null;
    PrintWriter outputStream = null;

    FileInputStream fis = new FileInputStream(new File("completeTextFile"));
    inputStream = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
    outputStream = new PrintWriter(new FileWriter("partSplit.txt"));

    String line;
    while ((line = inputStream.readLine()) != null) {
        String[] split = line.split("\\s+");
        int num = split.length;

在我按空格分割文件后,我想把上面的单词放在一起,但它只打印两行文本,没有特殊字符。我试图通过StackOverflow进行查看,并尝试使用UTF-8,但仍然不起作用。我尝试使用UTF-16,但Java堆空间不足的问题不断出现,即使在我设置-Xms512M-Xmx2048M之后

如果你能帮我弄清楚如何读取一个带有这个特殊字符的文件,然后按一行打印文本,那就太好了

编辑: 以下是我打印的方式: 对于(int b=11;b<;num-6;b++){ 输出流。打印(拆分[b]+“”); } 输出流。打印(拆分[num-6]+“\t”)


共 (1) 个答案

  1. # 1 楼答案

    尝试使用其他编码,如下所示

    inputStream = new BufferedReader(new InputStreamReader(fis, "ISO-8859-1"));
    

    可以使用此构造函数设置输出的编码

    outputStream =  new PrintWriter("partSplit.txt","ISO-8859-1");