格式错误的输入异常:使用 Files.readAllLines(Path.get( "file" ).get(0) 读取文本文件时输入长度 = 1;



为什么我得到这个错误?我正试图从银行对账单PDF中提取信息,并计算当月不同的账单。我将数据从PDF写入文本文件,以便我可以从文件中获得特定数据(例如ASPEN HOME IMPRO,然后迭代到美元金额,然后将该文本行读取为字符串)

Files.readAllLines(Path.get("bankData").get(0)代码运行时,我得到错误。有什么想法吗?编码的问题?

代码如下:

public static void main(String[] args) throws IOException {
File file = new File("C:\Users\wmsai\Desktop\BankStatement.pdf");
PDFTextStripper stripper = new PDFTextStripper();
BufferedWriter bw = new BufferedWriter(new FileWriter("bankData"));
BufferedReader br = new BufferedReader(new FileReader("bankData"));
String pdfText = stripper.getText(Loader.loadPDF(file)).toUpperCase();
bw.write(pdfText);
bw.flush();
bw.close();
LineNumberReader lineNum = new LineNumberReader(new FileReader("bankData"));
String aspenHomeImpro = "PAYMENT: ACH: ASPEN HOME IMPRO";
String line;
while ((line = lineNum.readLine()) != null) {
if (line.contains(aspenHomeImpro)) {
int lineNumber = lineNum.getLineNumber();
int newLineNumber = lineNumber + 4;
String aspenData = Files.readAllLines(Paths.get("bankData")).get(0); //This is the code with the error
System.out.println(newLineNumber);
break;
} else if (!line.contains(aspenHomeImpro)) {
continue;
}
}
}

我明白了。我必须检查所讨论的文本文件的属性(我使用Eclipse),以确定文本文件的实际编码是什么。

然后,在程序中创建文件时,将文本文件编码为UTF-8,以便文件。readAllLines可以读取和抓取我想要获取的数据。

最新更新