FileOutPutStream

5 respostas
evertonsilvagomesjav

Eu tenho um array de byte que é um arquivo, como faço para grava-lo em algum diretorio? To fazendo da seguinte forma:

try{		
				
				String filePath = pastaAnexo.toString() +"/" +";" +anexo.getNomeArquivo();			
				
				FileOutputStream fis = new FileOutputStream(filePath);
		
				anexo.setCaminhoArquivo(filePath);
				
				try {
					
					fis.write(anexo.getArquivo());
					
					fis.flush();
					
					fis.close();		
					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}				
				
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

Só que o FileOutPutStream gera uma exceção pois o caminho que estou passando é onde quero gravar e nao o caminho onde esta o arquivo.

5 Respostas

mauricioadl

se entendi bem vc quer pegar de um arquivo e passar para outro?

evertonsilvagomesjav

Eu ja tenho o arquivo em um array de byte, quero colocar ele em uma pasta diferente da que ele esta, por exemplo, pego um arquivo do c: coloco ele em um array de bytes, e depois passo ele para outro diretorio.

maior_abandonado
evertonsilvagomesjava:
Eu tenho um array de byte que é um arquivo, como faço para grava-lo em algum diretorio? To fazendo da seguinte forma:
try{		
				
				String filePath = pastaAnexo.toString() +"/" +";" +anexo.getNomeArquivo();			
				
				FileOutputStream fis = new FileOutputStream(filePath);
		
				anexo.setCaminhoArquivo(filePath);
				
				try {
					
					fis.write(anexo.getArquivo());
					
					fis.flush();
					
					fis.close();		
					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}				
				
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

Só que o FileOutPutStream gera uma exceção pois o caminho que estou passando é onde quero gravar e nao o caminho onde esta o arquivo.

debuga sua classe
da um system.out no endereço como está ficando na sua variável filePath na linha seguinte a sua inicialização (e criação nesse caso)
posta o stack trace do erro que está dando.

mauricioadl
o modo mais facil é assim:

File f = new File(c:/teste.txt);

f.renameTo(new File(c:/temp/teste.txt));

f.delete();
evertonsilvagomesjav

acho que é o caminho do filePath que tem algo mesmo, coloquei so c:// funcionou.

Criado 26 de setembro de 2011
Ultima resposta 26 de set. de 2011
Respostas 5
Participantes 3