I need to demonstrate to customers locally importing data from postgresql into elasticsearch. I wrote a program read3.java in idea. There is no problem reading the file content with scanner.
But this read3.java is only used to convert the json file exported by the table into a valid json file that can be imported into es, and does not add the dependency that needs to be downloaded, but I have to do it in the idea every time I run it.
So I directly found the target path of read3.java and copied it to the desktop.
Compile a .class file with javac directly on the desktop and then start running.
Every time there is an error, that is
Exception in thread “main” java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
……
Then I reopened the notepad and created an abc.json file, saved the encoding format as “utf-8”, and then used read3 to read the file, and the read out was garbled.
So I thought that there is a problem with the encoding of the characters read by the scanner. When creating the scanner, specify the encoding, that is, Scanner sc=new Scanner(new FIle(“xxx”),”utf-8″));
Then use notepad++ to open the file that needs to be read, and find that the file encoding is utf-8 bom, so I converted the encoding format to utf-8 and re-run. The problem is solved.