FileInputStream中的java.io.FileNotFoundException异常

一、报错直接原因

在读取文件时,用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,主要是为了电脑按照从前往后的路径找文件。

经验分享 程序员 微信小程序 职场和发展