Java使用Scanner读取含有中文字符串文件报错解决方法

Java使用Scanner读取含有中文字符串文件报错解决方法

前言

昨天,小编在做Java读取文件时报错,具体报错如下,原本以为只要在同一个文件夹下面就可以了,但是Java总是报错 找不到指定的文件。

在这里插入图片描述

代码如下:

wenti3.java

package Wenti2;


import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class wenti3 {
    
    
    public static void main(String[] args) throws FileNotFoundException {
    
    
        File file=new File("a.txt");
        Scanner scanner=new Scanner(file);
        int n=scanner.nextInt();
        String str=scanner.next();
        System.out.println(n+" "+str);
    }
}

文件结构如下:
在这里插入图片描述
小编试了很久,终于有了以下两种解决方法,
(1)换成绝对路径
在这里插入图片描述
(2)换成如下路径:(根据自己的文件结构)
在这里插入图片描述
此时,再查看运行结果如下:(如果此时有运行结果,可以不看这个过程了)
在这里插入图片描述
可以发现,不是找不到指定的文件了,而是另外一种错误,小编想了很久,不知道为什么还报错!
使用记事本查看一下这个文件好像没有问题啊!
在这里插入图片描述
但是,用NotePad++打开后发现,这不是 utf-8 编码
在这里插入图片描述
我们选择编码 按钮下面的转为utf-8编码,保存后,再运行上述程序,可以发现,此时,运行不报错了。
在这里插入图片描述
注意:一般报这种错误都是编码问题造成的。

猜你喜欢

转载自blog.csdn.net/qq_45404396/article/details/109200932
今日推荐