一、报错直接原因
在读取文件时,用FileInputStream以字节的形式读取。代码如下
package io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest01 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("D:\\1.txt");
int readData = fis.read();
System.out.println(readData);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
基本上用Eclipse自动补齐代码,但是一直显示异常,具体如下,
这个时候,我检查了自己测试的这个文件名字,完全一样,找不到错误啊,我把这行隐掉,手动写了一遍,竟然通过了???
我先去网上直接搜这个异常,但是看了很多,没有发现问题,后面看到有大佬解答说是渎职的错误。我又测试了一下,具体问题是因为我在复制路径时出错了
二、具体原因---”\u202A“
理论上复制是一样的,为什么会这样哪?我在IDEA中测试了一下,发现错误的复制,会在路径前面自动添加\u202A。搞了半天是这个时候复制,多了一个这个,我又在eclipse中的D前面按了一次Backspace,竟然真的删除了一个没显示的东西。
那么\u202A是什么哪?网上给出了解释:我们在从后往前复制路径时,虽然最终得到的复制都一样,但是对于计算机来说,他是从前往后去找路径的。所以对于这种复制方式,会自动加\u202A,主要是为了电脑按照从前往后的路径找文件。