vi na API que FileReader pode ter um construtor String ou File. qual a diferença entre usar esses dois? dá no mesmo?
brigadu!
vi na API que FileReader pode ter um construtor String ou File. qual a diferença entre usar esses dois? dá no mesmo?
brigadu!
FileReader
public FileReader(String fileName)
throws FileNotFoundExceptionCreates anew FileReader, given the name of the file to read from.Parameters:
fileName - the name of the file to read from
Throws:
FileNotFoundException - if the named file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.
FileReader
public FileReader(File file)
throws FileNotFoundExceptionCreates anew FileReader, given the File to read from.Parameters:
file - the File to read from
Throws:
FileNotFoundException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.
A diferença é que passando a String você está passando o nome do arquivo de onde o fileReader vai pegar as informações.
Passando o objeto File você passará o arquivo diretamente.
isso tudo bem, mas queria saber se isso implicaem diferenças na prática. na prática eu poderia usar qualquer um? que sempre será a mesma coisa?
Dica. Para resolver dúvidas como essa, veja o código de cada um deles (esta é uma das grandes vantagens do Java ser OpenSource):
public FileReader(String fileName) throws FileNotFoundException {
super(new FileInputStream(fileName));
}
public FileReader(File file) throws FileNotFoundException {
super(new FileInputStream(file));
}
Você também pode estar se perguntando se o InputStream trata de maneira diferente, nesse caso, abrindo o código do InputStream você acharia:
public FileInputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null);
}
Ou seja, o construtor do FileInputStream que recebe um string chama o construtor que recebe um file.
Então, não há diferença em usar um e outro. Use o que for mais conveniente para você.
vamos pensar juntos:
um FileReader precisa de um File certo?
o que a API faz é te disponibilizar diferentes maneiras de usa-lo.
se vc usar o construtor que recebe um File, ele ja vai usa-lo diretamente, se vc usar o construtor que recebe uma String ele deve fazer:
File f = new File("parametro");
e depois usa-lo.
na pratica não faz diferenca nenhuma.
[]´s
caras!
obrigado pelas dicas! espero um dia saber ao menos a metade do que vocês sabem!
Para aprender a metade que eles sabem, basta pegar a metade das fontes que eles usam para consultar, ou seja, o Javadoc.