最近加班经常接触文件流,记录以下创建文件的方法区别(即使已经用的相当熟练了😎😆)
mkdir和mkdirs:_mkdir_只能用来创建文件夹,且只能创建一级目录;
_mkdirs_同样只能用来创建文件夹,可创建多级目录 ,如果上级不存在,就会自动创建。
createNewFile:只能用来创建文件,且只能在已存在的目录下创建文件。
一般情况下配合使用,附上一段代码,会在自定义的目录下创建名为111的docx文件,将inputString字符串内容写入其中
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @author liucheng
* @date 2019/11/27 17:27
*/
public class Modify {
public static void main(String[] args) throws IOException {
String path = "F:\\Users\\yyy\\Desktop\\111.docx";
Modify modify = new Modify();
modify.create("hhh",path);
}
/**
*
* @param inputString 需写入的字符串内容
* @param path 文件创建的路径
* @throws IOException
*/
private void create(String inputString,String path) throws IOException {
String newPath = path.substring(0,path.lastIndexOf("\\"));
File file = new File(newPath);
if (!file.exists()){
file.mkdirs();
}
File newFile = new File(path);
if (!newFile.exists()){
newFile.createNewFile();
}
ByteArrayInputStream input = new ByteArrayInputStream(inputString.getBytes());
int index;
byte[] bytes = new byte[1024];
FileOutputStream fs = new FileOutputStream(path);
while ((index = input.read(bytes)) != -1) {
fs.write(bytes, 0, index);
fs.flush();
}
fs.close();
input.close();
}
}