o arquivo esta em .txt , terei que ler esse arquivo e criar uma matriz a partir dele . queria saber qual classe devo usar e uma breve explicaçao dela se possivel ainda estou iniciando na programaçao ?
Carregar uma matriz de Boolean por meio de um arquivo de configuração externo formatado de acordo com
exemplo abaixo:
0 1 2 3 4 5
0 | | |X|X|X|X|
1 |X| |X|X|X|X|
2 |X| | |X|X|X|
3 |X|X| |.| |X|
4 |X|X| |X| | |
5 |X|X| |X|X|X|
6 |X|X|X|X|X|X|
Obs.: os caracteres ?X? indicam parede e ? ? espaço livre, enquanto que ?.? informa a posição de partida.
Explica melhor isso ai, você quer gerar uma matriz Boolean com valores a partir deste arquivo ? Ok, então o X representaria true e vazio false?
Cara… por cima… para resolver esse seu problema você teria que ler o arquivo File / BufferedReader… depois processar os caracteres de acordo com sua nescessidade, mas sinceramente não entendi nada do que vc quer fazer… seja mais claro em sua descrição…
Abrass
Assim eu vo ler o arquivo de texto no qual tem aquela matriz acima , onde tem X == false , espaço vazio == true ,o zero representa o ponto inicial , eu ja criei a parte de leitura do arquivo segue abaixo o codigo.
Preciso agora de uma classe que leia as linhas e me devolva um vetor ou uma matriz acho que a classe split faz isso mas nao sei como utilizala .
[code]
import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
import java.io.*;
public class Arquivo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
escreverArquivo();
lerArquivo();
}
private static void escreverArquivo() throws IOException {
FileWriter fileWriter =
new FileWriter("d:\\teste.txt", false);
BufferedWriter buffer = new BufferedWriter(fileWriter);
buffer.write("Conteúdo do arquivo:");
buffer.newLine();
buffer.write("bla bla bla");
buffer.close();
}
private static void lerArquivo() throws IOException {
FileReader fileReader = new FileReader("B:\\Downloads\\refontesexercciodolabirinto\\configuracaoLabirinto.txt");
BufferedReader buffer = new BufferedReader(fileReader);
String linha = null;
Integer numLinhas = 0;
do {
linha = buffer.readLine();
if (linha != null) {
System.out.println(linha);
numLinhas++;
}
} while (linha != null);
System.out.println(String.format("\nNúmero de linhas: %d", numLinhas));
String[] vet = linha.split("| |");
buffer.close();
System.out.println(vet);
}
}[/code]
O método split funciona da seguinte forma, você informa qual é o caracter separador, então a cada vez que ele encontra esse caracter, ele separa o texto em 2, 3, 4… 1 milhão de partes, dependendo da quantidade de | que tiver seu texto.
Tente o seguinte, tire um | do argumento, e deixe como abaixo:
String[] vet = linha.split("|");
Desta forma ele vai guardar em cada posição de vet um X, um espaço vazio, ou um ponto . Ignorando o |, pois é o separador