2016-07-05 3 views
-3

Я хочу создать папку, содержащую файлы, которые моя программа сделала. Например (этот пример не отражает то, что делает моя программа на самом деле):Как создать папку, содержащую много файлов на Java?

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, как и я (я добавил новый код): И теперь я хочу сделать документ .txt индивидуально для каждого номера в HashMap с именем datetime(when the number was created).txt и ввести все их в папка, позволяющая пользователю читать комбинацию без запуска моей программы. Возможно ли это сделать на Java?

+1

Да, это возможно на Java. Вы пытались сделать это вообще? – Zircon

+0

Разбейте проблему на мелкие кусочки и пойдите. – Compass

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

Надеемся, что это ответил на ваш вопрос. Если нет, просьба уточнить проблему.