-
为何读取叫输入流,写入叫输出流
因为是先把文件内容输入到内存中,所以叫输入流
把内存中的值输出到文件中,所以叫输出流
文件目录
image.png
public static void main(String[] args) throws IOException {
String fileUrl =getFileUrl("G:/java_test/git/jBase/build/resources/main/file4WriteBit.txt") ;
//getOrCreateFileUrl("file4WriteBit.txt");
//文件存在的情况下使用二进制写入
if(fileUrl!=null){
try(FileOutputStream fileOutputStream=new FileOutputStream(fileUrl)) {
fileOutputStream.write(87);
fileOutputStream.write(80);
}
}
}
获取/或创建文件
public static String getFileUrl(String fileUrl) throws IOException {
File file=new File(fileUrl);
if(!file.exists()){
boolean newFile = file.createNewFile();
if(newFile){
return file.getPath();
}
}
return null;
}
获取文件路径
/**
* build文件夹下创建文件
* @param fileName
* @return
* @throws IOException
*/
public static String getOrCreateFile(String fileName) throws IOException {
//获取文件
URL resource = BaseWriteFile.class.getResource("/"+fileName);
String fileUrl=null;
//如果没有获取到文件则创建该文件
if(resource==null){
File file = new File("");
//获取项目路径
String canonicalPath = file.getCanonicalPath();
String newFilePath = canonicalPath + "/build/resources/main/"+fileName;
System.out.println(newFilePath);
//G:\java_test\git\jBase/build/resources/main/file4WriteBit.txt
file=new File(newFilePath);
boolean createSuc = file.createNewFile();
if(createSuc){
fileUrl=newFilePath;
}
}else {
fileUrl=resource.getPath();
}
return fileUrl;
}
网友评论