Java代码:
String fileName = "settings.txt";
String text = "AdresProgramm =";
String delimiter = ";";
Optional<String> result =
Files
.lines(Paths.get(fileName))
.filter(e -> e.contains(text))
.map(e -> {
int start = e.indexOf(text);
int end = e.indexOf(delimiter, start + text.length());
return e.substring(start, end);
})
.findFirst();
result.ifPresent(System.out::println);
文件内容:AdresProgramm =D:\\ЭСЧФ\;
输入错误异常:输入长度= 1
3条答案
按热度按时间wwtsj6pe1#
这看起来像是一个编码问题,因为你使用的是西里尔字母。
认为ISO-8859-1编码显然适用于欧洲字符。不确定UTF-8是否适用。
你看过this页面吗?
uz75evzq2#
c9qzyr3d3#
这不是一个答案,但可能对其他在编写代码以读取大型机文件时面临此问题的人有用。
像下面这样使用:
IBM称之为代码页819或CP819。如果您正在处理来自大型机系统的扩展二进制格式文件,这将是一个救命稻草。