java:基本输入流读取文件
2021-04-22 本文已影响0人
老林_
-
为何读取叫输入流,写入叫输出流
因为是先把文件内容输入到内存中,所以叫输入流
把内存中的值输出到文件中,所以叫输出流 -
单字节读取文件
/**
* 基础输入流以二进制读取文件
* @param fileUrl
*/
private static void printContent(String fileUrl){
try( FileInputStream in=new FileInputStream(fileUrl)) {
int available = in.available();
while (available>0){
byte[] data=new byte[available];
int read = in.read(data);
System.out.print(new String(data));
available = in.available();
}
} catch (IOException e) {
e.printStackTrace();
}
}
-
关于文件路径的问题
//读取文件,使用输入流(输入到内存中)
URL resource = BaseWriteFile.class.getResource("/file4ReadBit.txt");
//region
File directory = new File("");//参数为空
String canonicalPath = directory.getCanonicalPath();//标准的路径
String absolutePath = directory.getAbsolutePath();//绝对路径
//项目的路径
System.out.println(canonicalPath); //G:\java_test\git\jBase
System.out.println(absolutePath);// G:\java_test\git\jBase
//endregion
String path = resource.getPath();
//编译路径 web应用是要从这里读取的,英文源代码项目在服务器上是不存在的
System.out.println(path);///G:/java_test/git/jBase/build/resources/main/file4ReadBit.txt
//读取编译路径下的文件
printContent(path);
System.out.println("\n-------------------");
String path1=canonicalPath+"/src/main/resources/file4ReadBit.txt";
//G:/java_test/git/jBase/src/main/resources/file4ReadBit.txt
//读取源代码路径下的文件
printContent(path1);
文件路径截图如下
image.png