Duvida referente arrays![resolvido]

Galera é o seguinte , existe este codigo aonde ele vai copiar um arquivo qualquer …

[code]import java.io.*;

public class Copy {
public static void main(String[] args) {
try {
FileReader input = new FileReader(args[0]);
FileWriter output = new FileWriter(args[1]);

/* ------ inicio da minha duvida --------- */
char[] buffer = new char[128]; // …
int charsRead = 0; / …
charsRead = input.read(buffer); / …
while ( charsRead != -1 ) { / …
output.write(buffer, 0, charsRead); / …
charsRead = input.read(buffer); / …

/* --------- final ---------------- */
}
input.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}[/code]

a minha duvida esta marcada no codigo , nao consegui interpretar corretamente o seu uso …

Obrigado pela ajuda !!!

[code]import java.io.*;

public class Copy {
public static void main(String[] args) {
try {
FileReader input = new FileReader(args[0]);
FileWriter output = new FileWriter(args[1]);

/* ------ inicio da minha duvida --------- */
char[] buffer = new char[128]; // Cria um vetor com 128 posições
int charsRead = 0; // Número de caracteres que ele leu do arquivo de entrada
charsRead = input.read(buffer); // Lê os dados do arquivo de entrada e escreve no vetor. Retorna o número de caracteres lidos
while ( charsRead != -1 ) { //Enquando o número de caracteres lidos do arquivo for diferente de -1
output.write(buffer, 0, charsRead); //Escreve os dados do vetor no arquivo de saída
charsRead = input.read(buffer); //Lê novamente o arquivo de entrada e escreve o vetor

/* --------- final ---------------- */
}
input.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}[/code]

Show de bola , Obrigado mesmo …