输入和输出--javase中的路径

就目前为止, javase中经常用到路径来读取一个资源文件的所有情况都已经整理在博客里面了,这里做一个统一的整理:


1,IO流来读取一个文件,比如说new FileInputStream("src/LinkinPark...")。配置文件要放在java项目的内部,读取的时候直接写路径就可以了。这个是系统默认的(也就是说自己会找到我们的应用程序),他会自己计算出位置的,所以写的时候直接写就可以了。比如:Inputstream ips = new FileInputStream("Linkin.properties")。JDK的原话是这样子说的,注意理解:通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。创建一个新 FileDescriptor 对象来表示此文件连接。在写这个参数的不用谢斜线,直接写这个文件在应用中的路径就好了。


2,File类来操作一个文件或者目录,或者利用类加载器ClassLoader的getResourceAsStream()方法读取资源,或者Class的getResourceAsStream()方法读取资源里面的参数是从classpath类路径下去寻找的,可以写绝对路径,也可以写相对路径,在框架中使用很多。注意理解:这里只是在查找一个普通的资源文件,不想上面那样子给对应的系统建立一个连接,而是从classPath路径里面去找。所以这里要不写相对路径(直接写),要不写绝对路径(/开头)。要是不写斜线就表示是一个相对路径。


3,还有一个很重要的区别也要注意:使用IO流或者是File类来操作文件,用到的都是源码级别的,所以呢,写那个路径的时候直接在workspace里面找就好了,所以在使用的写一个源码的Java文件是路径前面是要加“src”的,但是利用类加载器,类加载器加载的是类的class文件,他负责把这个class的二进制文件记载到JVM中,所以在写一个类文件的路径是不需要写“src”的,其实src也没有。
原文地址:https://www.cnblogs.com/LinkinPark/p/5233105.html