Tôi có chức năng này (đã xóa các thẻ HTML cho ví dụ mã) xây dựng một bảng HTML ra khỏi CSV, nhưng tôi nhận được lỗi thời gian chạy mỗi khi tôi cố gắng chạy và tôi không biết tại sao. Google nói rằng có thể một cái gì đó với mã hóa là sai, nhưng tôi không có ý tưởng làm thế nào để thay đổi điều đó.java.nio.charset.MalformedInputException: Độ dài đầu vào = 1
CSV của tôi được mã hóa trong ANSI và chứa các ký tự như ä, Ä, Ü, Ö nhưng tôi không kiểm soát được mã hóa hoặc nếu mã sẽ thay đổi trong tương lai.
Lỗi này xảy ra ở đây:
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)
Đường dây 121 là
lines.forEach(line -> {
sourcecode:
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();
}
}
Đối với tham chiếu hiện tại (và tương lai): Nó vô cùng hữu ích nếu bạn cũng cho chúng tôi biết dòng mã ngoại lệ nào đang xảy ra. –
* Tôi gặp lỗi thời gian chạy mỗi khi tôi cố gắng chạy * Lỗi nào? Hãy chia sẻ. –
Rất tiếc, đã thêm phần ngoại lệ có liên quan và số dòng. – Vega