首先看一下各个文件在工程中的位置:
以下是读取个文件的方法的代码:
package com.my.content;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URISyntaxException;
public class Demo {
/*
* 相对路径 写法:
* 你相对于 谁 啊 ?
*
* // 相对于 虚拟器启动的目录
*
* 能够用相对路径去写的, 那么肯定可以用绝对路径去写 .
*/
// 读取 几个 txt 文件
public static void main(String[] args) throws URISyntaxException {
String path1 ="1.txt";
readContent(path1);
String path2 ="WebRoot/2.txt";
readContent(path2);
String path3 = "WebRoot/WEB-INF/3.txt";
readContent(path3);
String path4 ="src/4.txt";
readContent(path4);
Demo demo = new Demo();
//File f = new File(demo.getClass().getResource("").getPath());
//System.out.println(f);
String path5 = demo.getClass().getResource("").toURI().getPath()+"5.txt";
System.out.println(path5);
readContent(path5);
}
// 只需要将 路径传递进来, 就可以 打印文件中的 内容
public static void readContent(String path){
try {
InputStream in = new FileInputStream(path);
byte[] buf = new byte[1024];
int len=0;
while((len=in.read(buf))>0){
System.out.println(new String(buf, 0, len));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
读取结果:
第一个配置文件
第二个配置文件
第三个配置文件
第四个配置文件
/F:/BaiduYunDownload/黑马62期/01web (day01-day25)/day08_servlet/资料/代码/day08_servlet/WebRoot/WEB-INF/classes/com/itheima/content/5.txt
第5 个配置文件