java.nio.charset.MalformedInputException:输入长度= 1

维加

我有这个功能(将代码示例的HTML标记剥离了),可以从CSV构建HTML表,但是每次尝试运行它时都会遇到运行时错误,但我不知道为什么。谷歌说,也许编码有些错误,但是我不知道如何更改。

我的CSV以ANSI编码,并包含ä,Ä,Ü,Ö等字符,但我无法控制编码,或者将来是否会更改。

错误发生在这里:

Caused by: java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
at java.io.BufferedReader$1.hasNext(Unknown Source)
at java.util.Iterator.forEachRemaining(Unknown Source)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at testgui.Csv2Html.start(Csv2Html.java:121)

121行是

lines.forEach(line -> {

源代码:

protected void start() throws Exception {

    Path path = Paths.get(inputFile);

    FileOutputStream fos = new FileOutputStream(outputFile, true);
    PrintStream ps = new PrintStream(fos);      

    boolean withTableHeader = (inputFile.length() != 0);
    try  {
        Stream<String> lines = Files.lines(path);
        lines.forEach(line -> {
            try {
                String[] columns = line.split(";");
                for (int i=0; i<columns.length; i++) {
                    columns[i] = escapeHTMLChars(columns[i]);
                }       
                if (withTableHeader == true && firstLine == true) {
                    tableHeader(ps, columns);
                    firstLine = false;
                } else {
                    tableRow(ps, columns);
                }


            } catch (Exception e) {
                e.printStackTrace();
            } finally {

            }
        });

    } finally {
        ps.close();
    }

}
烈火

您可以通过使用方法Files.lines(Path path, Charset charset)形式linesjavadocs尝试利用正确的编码

是受支持的编码的列表(无论如何适用于Oracle JVM)。这篇文章表明“ Cp1252”是Windows ANSI。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

全包字符集可以避免“ java.nio.charset.MalformedInputException:输入长度= 1”?

来自分类Dev

我在scala中收到错误“ java.nio.charset.MalformedInputException:输入长度= 1”

来自分类Dev

java.nio.charset.UnmappableCharacterException:输入长度= 1

来自分类Dev

ScalaCheck中的罕见(间歇)java.nio.charset.MalformedInputException

来自分类Dev

ScalaCheck中的罕见(间歇)java.nio.charset.MalformedInputException

来自分类Dev

Source.fromResource()本地工作,而是抛出java.nio.charset.MalformedInputException服务器上

来自分类Dev

JSoup触发“ java.nio.charset.IllegalCharsetNameException:iso-8859-1”

来自分类Dev

MalformedInputException:运行两次时输入长度 = 1

来自分类Dev

java.lang.NoClassDefFoundError:java.nio.charset.StandardCharsets

来自分类Dev

java.lang.NoSuchMethodError:org.springframework.http.MediaType.getCharset()Ljava / nio / charset / Charset

来自分类Dev

java.lang.String.getBytes()和java.nio.charset.CharsetEncoder.encode()有什么区别?

来自分类Dev

java.io.UnsupportedEncodingException:java.nio.charset.CharsetICU [UTF-8]

来自分类Dev

java.lang.String.getBytes()和java.nio.charset.CharsetEncoder.encode()有什么区别?

来自分类Dev

无法启动嵌入式容器;嵌套的异常是java.lang.NoClassDefFoundError:java / nio / charset / StandardCharsets

来自分类Dev

Java NIO read() 从不抛出异常或返回 -1

来自分类Dev

Java NIO Windows实现

来自分类Dev

Java NIO WatchService

来自分类Dev

Java NIO异常

来自分类Dev

Java getBytes与getBytes(charset)的奇怪行为

来自分类Dev

我如何从只有1个剩余字节的ByteBuffer中获取Int(Java NIO)

来自分类Dev

java nio中的此路径

来自分类Dev

Java NIO 如何拆分消息?

来自分类Dev

使用 java nio 从 FileChannel 读取

来自分类Dev

java.nio.file.Path与sun.nio.fs.UnixPath

来自分类Dev

J2EE:读取文件时出现问题-charset.MalformedInputException

来自分类Dev

java.lang.NoSuchFieldError:DEF_CONTENT_CHARSET

来自分类Dev

Java的String.GetBytes(Charset)中的UTF-8

来自分类Dev

java获取List的长度,但始终等于= 1

来自分类Dev

带Java NIO套接字的CastException

Related 相关文章

  1. 1

    全包字符集可以避免“ java.nio.charset.MalformedInputException:输入长度= 1”?

  2. 2

    我在scala中收到错误“ java.nio.charset.MalformedInputException:输入长度= 1”

  3. 3

    java.nio.charset.UnmappableCharacterException:输入长度= 1

  4. 4

    ScalaCheck中的罕见(间歇)java.nio.charset.MalformedInputException

  5. 5

    ScalaCheck中的罕见(间歇)java.nio.charset.MalformedInputException

  6. 6

    Source.fromResource()本地工作,而是抛出java.nio.charset.MalformedInputException服务器上

  7. 7

    JSoup触发“ java.nio.charset.IllegalCharsetNameException:iso-8859-1”

  8. 8

    MalformedInputException:运行两次时输入长度 = 1

  9. 9

    java.lang.NoClassDefFoundError:java.nio.charset.StandardCharsets

  10. 10

    java.lang.NoSuchMethodError:org.springframework.http.MediaType.getCharset()Ljava / nio / charset / Charset

  11. 11

    java.lang.String.getBytes()和java.nio.charset.CharsetEncoder.encode()有什么区别?

  12. 12

    java.io.UnsupportedEncodingException:java.nio.charset.CharsetICU [UTF-8]

  13. 13

    java.lang.String.getBytes()和java.nio.charset.CharsetEncoder.encode()有什么区别?

  14. 14

    无法启动嵌入式容器;嵌套的异常是java.lang.NoClassDefFoundError:java / nio / charset / StandardCharsets

  15. 15

    Java NIO read() 从不抛出异常或返回 -1

  16. 16

    Java NIO Windows实现

  17. 17

    Java NIO WatchService

  18. 18

    Java NIO异常

  19. 19

    Java getBytes与getBytes(charset)的奇怪行为

  20. 20

    我如何从只有1个剩余字节的ByteBuffer中获取Int(Java NIO)

  21. 21

    java nio中的此路径

  22. 22

    Java NIO 如何拆分消息?

  23. 23

    使用 java nio 从 FileChannel 读取

  24. 24

    java.nio.file.Path与sun.nio.fs.UnixPath

  25. 25

    J2EE:读取文件时出现问题-charset.MalformedInputException

  26. 26

    java.lang.NoSuchFieldError:DEF_CONTENT_CHARSET

  27. 27

    Java的String.GetBytes(Charset)中的UTF-8

  28. 28

    java获取List的长度,但始终等于= 1

  29. 29

    带Java NIO套接字的CastException

热门标签

归档