Input-Output

Boa tarde amigos,

Neste momento estou estudando a manipulação de ficheiros e diretórios através do exemplo de código que peguei na revista http://www.revista-programar.info/front/editions :

[code]/* Manipulação de Ficheiros

public class JavaFile
{
public static void main(String[] args)
{
/* Criação do objeto File
* inicializa a propriedade
*/
File file = new File("/estudo/teste/file.txt");

	// obtem nome do ficheiro ou diretório
	System.out.println(file.getName());
	
	/* método da permissão de leitura
	* a ficheiro ou diretório
	*/
	file.setReadOnly();

	/* método verifica se  o ficheiro
	* ou diretório está oculto
	*/
	System.out.println(file.isHidden());

	/* método verifica se é possível ler
	* o ficheiro ou diretório 
	*/
	System.out.println(file.canRead());
	
	/* método verifica se é possível escrever
	* no ficheiro ou diretório 
	*/
	System.out.println(file.canWrite());

	/* método da permissão de renomear ou mover
	* o ficheiro ou diretório
	*/
	file.renameTo(new File("/estudo/teste/Ficheiro.txt"));

	try
	{
		/* método verificar se o ficheiro
		* ou diretório existe no local
		*/
		if(!file.exists())
		{
			// método cria um novo ficheiro no local
			file.createNewFile();
		}
	}
	catch(Exception e)
	{
		System.out.println(e.getMessage());
	}

	// método verifica se o local é diretório
	if(file.isDirectory())
	{
		System.out.println("É um Diretório");
	}
	// método verifica se o local é ficheiro
	else if(file.isFile())
	{
		System.out.println("É um Ficheiro");
	}
	
	/* método retorna um array com todos os drives 
	* ou raízes do sistema operacional
	*/
	File[] roots = file.listRoots();
	for(int i = 0; i < roots.length(); i++)
	{
		System.out.println(roots[i]);
	}
	
	// método permite eliminar arquivo ou diretório do local
	file.delete();
}

}[/code]
Mas está dando erro:

[code]JavaFile.java:74: cannot find symbol symbol : method length()
location: class java.io.File[]
for(int i = 0; i < roots.length(); i++)
^
1 error

[/code]
Agradeço desde já,

Júnio César Silva

roots é um array, que tem uma propriedade chamada length, não um método chamado length().

O código deveria ser:

for(int i = 0; i < roots.length; i++)

Muito obrigado pela colaboração Thingol, pois faltou atenção de minha parte.Paz e saúde para ti.