• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mbalves

Copiar Ficheiros em blocos de Bytes

2 mensagens neste tópico

Bom dia,

Eu estou a ter alguns problemas em fazer um codigo para a cadeira de FSO e se alguem me pudesse ajudar agradecia bastante.O problema é o seguinte:

Pretende-se implementar várias versões de um comando que sejam capaz de efectuar a cópia de um ficheiro indicado na linha de comando. Na linha de comando deverá ainda indicar-se o tamanho da unidade de transferência usada durante a cópia, para além dos nomes dos ficheiros envolvidos. Por exemplo: para conseguir copiar um ficheiro de nome fich1, para um novo de nome fich2, transferindo 1024 bytes de cada vez e assumindo que o seu programa se chama ``copia'', deve dar o seguinte comando:

copia 1024 fich1 fich2

Na execução, a seguir ao nome do programa podem ser indicados os seus argumentos. Estes são vistos, do ponto de vista de código fonte, através do parâmetro do respectivo método main:

public static void main( String[] args )

Por exemplo, admita que executa copy 100 f1 f2, para que copy copie o ficheiro f1 para f2 em blocos de 100 bytes. Neste caso o vector args passado na chamada de main vem com args[0]=="100", args[1]=="f1" e args[2]=="f2".

Eu estou a utilizar o fileInputStream e o fileOutputStream mas os resultados nao estão a ser os melhors.

cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é a dúvida exactamente, onde é que estás a ter problemas?

O processo de cópia não será mais que copiar usando um buffer do tamanho do valor passado por parâmetro ao programa, ler esse bloco e escrever esse bloco, repetir até se acabar o ficheiro de origem. Mas isto imagino que já saibas :), o que dava jeito era saber onde tens as dúvidas, uma vez que será difícil alguém apresentar-te a solução B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora