嘿,我一直在尝试实现一个程序员,它从GUI中获取值,并将它们提供给我编写的类中的另一个程序员,这个类应该输出一个txt文件。GUI和其他类工作正常,但我似乎无法将值从GUI获取到其他类,或者类成员根本无法启动。到目前为止,我有这样的想法:
import java.io.*;
//
//some code
//
public static void SaveTextToFile(String Name,String Spec, String Text ){
try{
File file = new File("user.dir"+ File.separator + Name + File.separator + Spec + "Text.txt");
file.getParentFile().mkdir();
FileWriter writer = new FileWriter(file);
writer.write(Text);
writer.flush();
writer.close();
} catch
(IOException e) {}
}..。
但不知何故,甚至连文件或目录都没有创建。有什么想法吗?
发布于 2016-06-25 17:26:12
如果你想创建整个文件夹结构,你必须使用mkdirs而不是mkdir。
使用file.getParentFile().mkdirs();
mkdir()
创建以此抽象路径名命名的目录。
mkdirs()
创建以此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,则可能已成功创建了一些必要的父目录。
阅读this answer。
发布于 2016-06-25 18:02:03
我修复了appache commons io FileUtils包的问题。
现在我有了:
public static void SaveTextToFile(String Name,String Spec, String Text ){
try{
File file = new File(Name + File.separator + Spec + "Text.txt");
org.apache.commons.io.FileUtils.forceMkdirParent(file);
org.apache.commons.io.FileUtils.writeStringToFile(file, Text, "utf8");
} catch
(IOException e) {}
}它工作得很棒
发布于 2016-06-25 17:28:41
试一试
File file = new File(
System.getProperty("user.home") + File.separator + Name + File.separator + Spec + "Text.txt");如果您想要在用户的文件夹结构中创建文件,而不是“user.dir
https://stackoverflow.com/questions/38026897
复制相似问题