Converter um array de byte em um File

Pessoal como diz o assunto eu gostaria de converter um array de byte em um file.
Tentei da seguinte forma mas não tive sucesso:

byte[] b = new byte[out.size()]; out.write(b); out.flush(); out.close(); File f = new File(new String(b));
Descobri que isso só serve para textos, porém meu arquivo são imagens com textos, fotos e etc em pdf.

Segue meu código completo:

[code] public Boolean insereImagemNoBanco(ArrayList anexoGuia, HttpServletRequest request, HttpServletResponse response) throws CMSException, IOException {

	final String CONTENT_TYPE = "text/html; charset=windows-1252";
	String mimeType = CONTENT_TYPE;
	BLOB blob = null;
	ConvertePDFToImage convertePDFToImage = new ConvertePDFToImage();

	for (Iterator iterator = anexoGuia.iterator(); iterator.hasNext();) {
		Anexo anexo = (Anexo) iterator.next();
		
		File file = new File(anexo.getPathArquivo());
		FileInputStream fis = new FileInputStream(file);
		CMSSignedData dados;
		dados = new CMSSignedData(fis);
		fis.close();
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		CMSProcessable conteudo = dados.getSignedContent();
		conteudo.write(out);
		try {
			Magic parser = new Magic();
			parser.initialize();
			MagicMatch match = parser.getMagicMatch(out.toByteArray());
			mimeType = match.getMimeType();
		} catch (Exception e) {
			e.printStackTrace();           
			System.out.println("Erro ao detectar o tipo de conteúdo do arquivo ");
		}
		
		//LUGAR ONDE TENTO CONVERTER UM ARRAY DE BYTE PARA UM FILE
		
		byte[] b = new byte[out.size()];
		out.write(b);
		out.flush();
		out.close();
		File f = new File(new String(b));
		
		//InputStream is = new FileInputStream();
		convertePDFToImage.convert(anexo, 0);
		
		
		
	}
	return true;
}[/code]

Grato!

Um java.io.File não é um arquivo (vou repetir isso mil vezes) e sim um nome de diretório ou nome de arquivo + diretório.

Se você precisa converter um array de bytes para um arquivo, use um java.io.FileOutputStream.

Mas a intenção é realmente converter em um File.
É possível, e como poderia fazer isto?

Você quer converter um array de bytes em um arquivo (não me confunda com java.io.File, por favor).

Primeiramente, você tem de determinar o nome do arquivo de destino (isso é com você).

A seguir, faça algo como:

byte[] bytes = ...;
File f = new File ("nome do arquivo de destino");
FileOutputStream fos = null;
try {
    fos = new FileOutputStream (f);
    fos.write (bytes);
} finally {
    if (fos != null) try { fos.close(); } catch (IOException ex) {}
}

Oi thingol, parece q deu certo. Vou tentar aqui.

Grato!