文件读取
获取classloader加载的文件
// 从类加载器中获取文件,jar包类的文件也会被加载到类加载器
InputStream inputStream = this.getClass().getResourceAsStream("/source.txt");
// BufferedInputStream 通过装饰器的方式操作InputStream
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
byte[] data = new byte[bufferedInputStream.available()];
bufferedInputStream.read(data);
bufferedInputStream.close();
如果是jar包内的文件直接通过new File会异常:文件找不到
将文件读入数组
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[fis.available()];
fis.read(data);
通过new file创建的文件目录
如果没有指定路径,会被放在user.dir属性内的路径
File file = new File("resources.java");
file.getAbsolutePath();
private String getUserPath() {
/* For both compatibility and security,
we must look this up every time */
return normalize(System.getProperty("user.dir"));
}
文件写入
File file = new File("out.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("test")
out.flush();
out.close();