isso foi apenas um exemplo tenho um arquivo txt
e quero pegar apenas a linha 20 dele como fazer?
tenho apenas o codigo de ler comun porem ler apenas a linha não consigo de maneira nenhuma
você pode usar uma variável como contador no seu código de leitura de arquivo
isso soh faria eu saber em que linha o que eu quero está
isso eu ja tentei não deu certo
Creates a random access file stream to read from.
http://docs.oracle.com/javase/6/docs/api/java/io/RandomAccessFile.html
nem desisto
[quote=angelopppp]isso foi apenas um exemplo tenho um arquivo txt
e quero pegar apenas a linha 20 dele como fazer?
tenho apenas o codigo de ler comun porem ler apenas a linha não consigo de maneira nenhuma[/quote]
Boa noite Angelo,
Para ler um arquivo de texto, você já deve ter implementado o metódo de leitura. Para pegar a linha 20, implementa um contador.
Por exemplo:
[code]
import java.io.;
import javax.swing.;
public class Arquivo{
//Inicializa como null, depois é passado por parâmetro no construtor.
private File arquivo = null;
//Faz a leitura e retorna a linha nro 20
public String leitura(){
FileReader reader;
BufferedReader buffer;
String linha = new String();
int contador = 0;
//tratamento de excecao
try{
reader = new FileReader(arquivo);
buffer = new BufferedReader(reader);
//faz a leitura na linha
linha = buffer.readLine();
while(linha != null && contador !=19){
linha= buffer.readLine();
contador ++;
}
}catch(IOException erro){
JOptionPane.showMessageDialog(null,"Erro de I/O: " + erro ,
"Erro",JOptionPane.ERROR_MESSAGE);
}
if(contador == 19)
return linha;
else
return "";
}
public Arquivo(File arq){
this.arquivo = arq;
}
public static void main(String args[]){
JOptionPane.showMessageDialog(null,new Arquivo(new File("C:\\novo\\arquivo.txt")).leitura());
}
}[/code]
Abraços,
Vc vai precisar um jar muito bacana.
commons-io-1.1.jar
Ae vc faz assim:
import org.apache.commons.io.FileUtils;
public static void main(String[] args) throws Exception{
List<String> lista = FileUtils.readLines(new File("D:\\converter\\info.txt"), "ISO-8859-1");
System.out.println(lista.get(20));
}
t+
Cara, se o texto não for excessivamente grande e você precisar alterar muitas vezes ou pegar linhas do arquivo mais vezes, sugiro que carregue o conteudo do arquivo pra memoria, um ArrayList por exemplo, ai tem liberdade para pegar qualquer dado, e quando for alterar algo, altere na memoria, ai sobrescreva o conteudo do arquivo pelo da memoria.