Criar Diretorio automaticamente e salvar arquivo no diretorio, Windows e Linux

Galera eu estou precisando de uma ajudar, estou fazendo essa aplicação para fazer print screen mais queria que o diretório fosse criado automaticamente e salvar o arquivo de imagem dentro do diretório criado automaticamente.

Alguém pode ajudar, por favor !

Segue o código abaixo.

package capture;

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;

import javax.imageio.ImageIO;

public class Capture2 {

	private static Rectangle Rectangle;

	/*
	 * @param args the comand**
	 */
	
	

	public static void main(String[] args) throws AWTException, IOException {

		Robot robot = new Robot();

		Dimension a = Toolkit.getDefaultToolkit().getScreenSize();

		Rectangle = new Rectangle(a);
		
		for (GraphicsDevice gd : GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()) {
			Rectangle = Rectangle.union(gd.getDefaultConfiguration().getBounds());
		}
		BufferedImage capture = new Robot().createScreenCapture(Rectangle);

		//BufferedImage img = robot.createScreenCapture(Rectangle);

		ImageIO.write(capture, "jpg", new File("c:/z/1/teste.jpg"));
		// ImageIO.write(img, "bmp", new File("c:/z/1/bmp"));
		// ImageIO.write(img, "png", new File("c:/z/1/png"));
		
		// Nome de Usuario
		System.out.println(System.getProperty("user.name"));
		// Nome da Maquina
		InetAddress addr = InetAddress.getLocalHost();
		System.out.println(addr.getHostName());

		// IP da Maquina
		System.out.println(InetAddress.getLocalHost().getHostAddress());
		//
        
	}

}

Se é só criar diretório, então você pode usar o próprio File do java.io, com o método mkdirs() ou mkdir().

File diretórioLinux=new File(dirLinux);
File diretórioWindows=new File(dirWindows);
// Cria varios diretórios nescessarios se não existir
// Incluindo diretórios pais
diretórioLinux.mkdirs();
diretórioWindows.mkdirs();

O mkdir() funciona de forma semelhante, com diferença que se os diretórios pais não existir, ele não cria e ocorre um erro. Ou em outras palavras, só cria o ultimo diretório informado, se não existir. Caso exista então não acontece nada.

Para mais informações, consulte esse tópico do stackoverflow

Valeu obrigado :sweat_smile:

funcionou :sweat_smile: