Gostaria de ler de um .txt e armazenar em uma String.
Alguém pode me ajudar?
Lendo de um .txt
18 Respostas
Gostaria de ler de um .txt e armazenar em uma String.
Alguém pode me ajudar?
Sim, acesse este site:
www.google.com.br
E digite, no textfield que existe lá
“ler arquivo txt java”
Pressione “enter”
Escolha a opção que mais te agradar.
Deverá até existir a possibilidade de ctrl + c e ctrl + v algum código pronto.
Reformulando a pergunta:
Alguém disposto a responder pode me ajudar? hehehe
Com certeza aqui no forum tem muitos exemplos de leitura e escrita de arquivo.
Já leu as regras do fórum? http://www.guj.com.br/java/39020-regras-do-forum? Já procurou no google? Aliás, só pra te avisar, Aproximadamente 122.000 resultados (0,17 segundos) para a pesquisa ler arquivo txt java.
No primeiro link existe um código bem explicado e limpo para utilizar.
Vai lá.
Tenho quase certeza de que a resposta está neste tópico: http://www.guj.com.br/java/141188-ler-arquivo-txt/2
É possível ler todo de uma vez?
Pelo q eu entendi lá está sendo lido linha por linha, correto?
eu não sei se tem como pq eu nunca tentei…
mas eu sempre faço ele lendo as linhas mesmo e sempre funcionou muito bem!
private static String lerArquivo(File arquivo) throws IOException {
StringBuilder sb = new StringBuilder();
Scanner in = new Scanner(arquivo);
while (in.hasNextLines()) {
sb.append(in.nextLine()).append("\n");
}
in.close();
return sb.toString();
}
private static String lerArquivo(File arquivo) throws IOException {
StringBuilder sb = new StringBuilder();
Scanner in = new Scanner(arquivo);
while (in.hasNextLines()) {
sb.append(in.nextLine()).append("\n");
}
in.close();
return sb.toString();
}
Ainda assim, lê linha a linha…
Não é possível ler o arquivo de uma vez só. Mesmo que você faça uma leitura binária, ainda lerá byte-a-byte, no máximo com algum tipo de buffer.
Vou jogar minha moeda.
CommonsIO: FileUtils.readFileToString(File f).
Estou com uma duvida. Porque ele não esta lendo meu txt?
import java.io.*;
public class principal {
public static void main(String[] args) {
File file = new File("arquivo.txt");
System.out.println(file.exists());
}
}
Estou tentando seguir um tutorial aqui do Guj mesmo, mas não da. RS 10x0 pra leitura de txt…
Estou com uma duvida. Porque ele não esta lendo meu txt?import java.io.*; public class principal { public static void main(String[] args) { File file = new File("arquivo.txt"); System.out.println(file.exists()); } }Estou tentando seguir um tutorial aqui do Guj mesmo, mas não da. RS 10x0 pra leitura de txt…
é porque você não esta lendo, você só esta verificando se o arquivo existe, isto deve retorno true se ele existe.
public static void main(String[] args) throws FileNotFoundException, IOException {
try {
BufferedReader in = new BufferedReader(new FileReader("c:\arquivo.txt"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
} catch (IOException e) {
e.getMessage();
}
System.exit(0);
}
Nessa linha, como eu poderia ler um arquivo que estivesse no proprio diretorio?
pois ele só le um txt que eu tenho dentro do c:
BufferedReader in = new BufferedReader(new FileReader("c:\arquivo.txt"));
E se estivesse em um diretorio tipo
src/txt/arquivo.txt
Vlw
Nessa linha, como eu poderia ler um arquivo que estivesse no proprio diretorio?
pois ele só le um txt que eu tenho dentro do c:BufferedReader in = new BufferedReader(new FileReader("c:\arquivo.txt"));E se estivesse em um diretorio tipo
src/txt/arquivo.txt
Vlw
FileReader fileReader = new FileReader("src/txt/arquivo.txt");
String arquivo = "src/txt/arquivo.txt";
Scanner scan = new Scanner(new File(arquivo));
Nem assim funciona…
Meu professor da Caelum me ajudou. Vou deixar o resultado aqui para alguem que também precise.
Vlw galera.
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Scanner;
public class principal {
public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(new FileReader("arquivo.txt"));
while(scanner.hasNextLine()) {
String linha = scanner.nextLine();
String[] partes = linha.split(";");
for (int i = 0; i < partes.length; i++) {
System.out.println(partes[i]);
}
}
}
}