Eu quero copiar um arquivo(imagem) e mandar para outra pasta…
como faço isso em java?
Manipular um arquivo
11 Respostas
BufferedReader e BufferedWriter
Tente algo assim:
public void copiar(File origem, File destino){
InputStream in = new FileInputStream(origem);
OutputStream out = new FileOutputStream(destino);
byte[] buf = new byte[1024];
while((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
in.close();
out.close();
}
O que é esse len?
Opa, na pressa esqueci de declara-lo:
public void copiar(File origem, File destino){
InputStream in = new FileInputStream(origem);
OutputStream out = new FileOutputStream(destino);
byte[] buf = new byte[1024];
int len;
while((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
in.close();
out.close();
}
como eu armazeno os caminhos ?
nesses duas variavel origem e destino ?
uia…
es bicho é de belem tbm ^^
Você pode armazenar da seguinte forma:
File origem = new File("caminho");
é to ligado …
imaginando se lá mesmo nesse método …
vo bota nele mesmo .
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Copiar {
public static void main(String[] args) throws Exception {
File origem = new File("C:/ORIGEM/DE.jpg");
FileInputStream in = new FileInputStream(origem);
File destino = new File("C:/DESTINO/" + origem.getName());
FileOutputStream out = new FileOutputStream(destino);
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
}
}
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class Copiar { public static void main(String[] args) throws Exception { File origem = new File("C:/ORIGEM/DE.jpg"); FileInputStream in = new FileInputStream(origem); File destino = new File("C:/DESTINO/" + origem.getName()); FileOutputStream out = new FileOutputStream(destino); int c; while ((c = in.read()) != -1) { out.write(c); } } }
:idea:
Para automatizar mais o código do colega Josemar, use os args do main! Assim:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Copiar {
public static void main(String[] args) throws Exception {
File origem = new File(args[0]);
FileInputStream in = new FileInputStream(origem);
File destino = new File(args[1] + origem.getName());
FileOutputStream out = new FileOutputStream(destino);
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
}
}
Dae a chamada fica:
Copiar
exemplo:
Copiar "C:\img.jpg" "D:\"
Realmente, fica bem mais automatizado passando os argumentos para a classe…
Bem legal, não tinha pensado nisso =)
T
Não esqueça de dar um close() em todos os stream’s .
http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileOutputStream.html#close()
Criado 18 de março de 2010
Ultima resposta 18 de mar. de 2010
Respostas 11
Participantes 7
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo