Manipulando um arquivo txt

Alguem sabe se tem como em um arquivo txt contendo n linhas e em cada linha n inteiros eu pegar, por exemplo, o elemento K questa na linha i e coluna j?
Como se fosse um arraybidimensional o jeito de se pegar o elemento mas quero fazer algo do mesmo tipo num txt.

O meu arquivo txt tem os seguintes dados:

123456
789221
432222
896400
907888

Seriam os coeficientes de um sistemas n x n+1 = 5 x 6. Neste caso estou tratando como se fossem uma matriz. Preciso aplicar nele Gauss.

[code]class Gauss {

Scanner sistema;


public Gauss(Scanner sistema){
	this.sistema = sistema;
}	
	
public void aplicandoGauss(){
	
	int grauSistema = 0;
	
	String comprimento = sistema.nextLine();
	grauSistema = comprimento.length()-1;

       int n = grauSistema;
	int n1 = n+1;
	
    for(int k=0; k<n-1; k++){
    	for(int j=k; j<n1; j++){
    		matriz[k][j]= matriz[k][j]/matriz[k][k];
    		
    	}
}[/code]

O algoritimo é muito extenso então coloquei apenas a primeira parte. Ali aonde indica matriz[k][j] é para ser o “sistema(linha k )( posição j)”. É que anteriormente havia feito com array mas não posso usá-lo. E sistema é o arquivo txt que contem os coeficientes.

Como fazer o que preciso? E como fazer para que o valor na posição “k,j” passe a valer o novo valor estabelecido pela operação aritimetica?

Após todo o algoritimo ser executado o arquivo txt atual estará modificado.
Devendo ficar assim:

12345x1
01922x2
00122x3
00010x4
00001x5 em xj, j=1…5 são as soluções…

Grato pela ajuda!

Para ler o arquivo, use a classe Scanner.
Leia todo o arquivo para a memória, faça os calculos, e grave-o novamente usando a classe FileWriter, associada a um PrintWriter.

Qual seria a diferença de usar FileWriter associado a PrintWriter, para um FileWriter associado a um BufferedWriter???

PS - Desculpe invadir seu tópico colega.

O PrintWriter tem métodos de escrita convenientes, como println e printf.
Ele também entende os encodings dos vários tipos de caracteres.

O ideal é abrir assim:

PrintWriter pw = new PrintWriter(new File("seuArquivo.txt"));

Que é idêntico a fazer:

PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));

[quote=ViniGodoy]Para ler o arquivo, use a classe Scanner.
Leia todo o arquivo para a memória, faça os calculos, e grave-o novamente usando a classe FileWriter, associada a um PrintWriter.[/quote]

Então cara todos os problemas que eu estava tendo com o algoritimo consegui arrumar. Mas passando um sistema grande para ele dentre algumas raizes que ele encontrou ele deu como resultado NaN. E eu não sei o que isso quer dizer exatamente!

Postei um topico sobre isso aqui no forum mas ninguem ainda respondeu. Talvez a galera nem saiba direito o que é. Postei o seguinte:

"Alguem sabe me dizer o que é NaN expecificamente???

A unica coisa que eu encontrei foi que significa Not a Number > Não é um número! Mas então o que é?
Quando e porque pode ocorrer?

Estou implementando um algoritimo que pode acumular erros de arredondamento e muito possivel que pela incapacidade do registrador armazenar numeros muito pequenos
ele trunque o numero tornando o zero ( por exemplo 0.000000000000709797979 >>> truncou antes do 7 >> 0.00000000000 ) e ai ocorrer divisão por este novo numero que se tornou zero! Seria um dos motivos para ocorrer o NaN?

Obrigado!"

Sabes o que?

Vlwww

Ótima explicação em: