我想创建一个文件夹,其中包含我的程序生成的文件。例如(这个例子并不代表我的程序实际做的事情):
private static HashMap<LocalDate,Number> numbers = new HashMap<>();
private static ListIterator li;
public static void saveIndividually(){
try{
if(!numbers.isEmpty()){
ArrayList<LocalDate> lista= new ArrayList<LocalDate>(numbers.keySet());
li=lista.listIterator();
while (li.hasNext()){
Number number=numbers.get(li.next());
FileOutputStream ostreamPassword = new FileOutputStream(number.getDate()+".dat");
ObjectOutputStream oosPass = new ObjectOutputStream(ostreamPassword);
oosPass.writeObject(number);
ostreamPassword.close();
}
}
} catch (IOException ioe) {
System.out.println("Error de IO: " + ioe.getMessage());
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
-我的程序使随机数组合。-每个组合都存储在HashMap
中,像这样(我添加了新的代码):现在我想为HashMap
中的每一个数字单独创建一个。txt文件,名称为datetime(when the number was created).txt
,并将它们全部介绍到一个文件夹中,以便用户在不启动我的程序的情况下轻松读取组合。在Java中有可能做到这一点吗?
让我们来回答"如何在java中创建文件夹"。有几种方法可以做到这一点。让我们在Desktop上创建一个输出文件夹来进行演示。
public static File createOutputFolder() {
final File desktop = new File(System.getProperty("user.home"), "Desktop")
final File output = new File(desktop, "output");
if (!output.exists()) {
// The directory does not exist already, we create it
output.mkdirs();
} else if (!output.isDirectory()) {
throw new IllegalStatexception("The output path already exists but is no directory: " + output);
}
return output;
}
我们的方法还返回输出目录。现在您可以将这个File
对象传递给您的FileOutputStream
并创建如下的新文件:
File output = createOutputFolder();
FileOutputStream ostreamPassword = new FileOutputStream(new File(output, number.getKey()+".dat"));
希望这回答了你的问题。