我正在使用PrintWriter
从磁盘写入一个字符串文件,其代码如下:
public static void storeString(String string, String path) {
PrintWriter out = null;
try {
out = new PrintWriter(path, "UTF-8");
out.println(string);
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
问题是,如果路径包含目录,则PrintWriter会引发异常。如何告诉PrintWriter创建缺少路径的文件夹?
谢谢。
答案 0 :(得分:2)
使用采用PrintWriter
的{{1}}构造函数:
File
,并且可以使用以下代码创建文件:
PrintWriter(File file)
答案 1 :(得分:1)
public class Main {
public static void main(String[] args) {
storeString("salam", "/yourPath/someUncreatedDir/yourfile.txt");
}
public static void storeString(String string, String path) {
PrintWriter out = null;
try {
File dir = new File((new File(path)).getParent());
dir.mkdirs();
out = new PrintWriter(path, "UTF-8");
out.println(string);
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
}