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,主要是为了电脑按照从前往后的路径找文件。
下一篇:
Java 创建对象的 6 种方式