如何在Java中创建包含许多文件的文件夹?

时间:2016-07-05 18:25:13

标签: java file fileoutputstream

我想创建一个包含我的程序所做文件的文件夹。例如(此示例并不代表我的程序实际执行的操作):

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中做到这一点?

1 个答案:

答案 0 :(得分:1)

让我们回答“如何制作文件夹 - 在java ”。有几种方法可以做到这一点。让我们在桌面上创建一个输出文件夹进行演示。

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"));

希望这能回答你的问题。如果没有,请更具体地说明问题。