entao, eh bem simples ler do teclado. Veja este exemplo:
import java.io.*;
public class LeTeclado
{
public static void main(String args[])
{
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Le entao a palagra SAIR nao seja digitada
String linha = "";
while (!linha.equals("SAIR")) {
linha = reader.readLine();
System.out.println("Voce digitou: "+ linha);
}
}
catch (IOException e) {
System.out.println("Erro: "+ e);
}
}
}
Desculpa entrar na questão mas achei interessante o código…mas
o programa so lê o que é digitado no console seria possivel captar
de qualuqer outra janela e salvar em arquivo?
Como assim de qualquer janela? voce diz aplicacao grafica? de qualquer maneira, eh possivel sim, e bem simples. No forum mesmo ja teve uma questao parecida, onde o cara queria gravar em arquivo o conteudo que ele digitava nos JTextField… De uma procurada no forum sobre isso!!
entao, eh bem simples ler do teclado. Veja este exemplo:
import java.io.*;
public class LeTeclado
{
public static void main(String args[])
{
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Le entao a palagra SAIR nao seja digitada
String linha = "";
while (!linha.equals("SAIR")) {
linha = reader.readLine();
System.out.println("Voce digitou: "+ linha);
}
}
catch (IOException e) {
System.out.println("Erro: "+ e);
}
}
}
[]'s
Rafael Steil[/quote]
Olá amigo, vc poderia citar um exemplo de como seria p copiar o que foi digitado na console para um arquivo log.txt?
Obrigado!
public static void main(String[] args) throws IOException {
OutputStream os = new FileOutputStream("arquivo.txt");
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
Scanner entrada = new Scanner(System.in);
while (entrada.hasNextLine()) {
String linha = entrada.nextLine();
bw.write(linha);
bw.close();
}
}
}
[/code]
Existe como utilizar também o PrintStream, mas ainda vou ver como utiliza e depois posto aqui ok?
public static void main(String[] args) throws IOException {
OutputStream os = new FileOutputStream("arquivo.txt");
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
Scanner entrada = new Scanner(System.in);
while (entrada.hasNextLine()) {
String linha = entrada.nextLine();
bw.write(linha);
bw.close();
}
}
}
[/code]
Existe como utilizar também o PrintStream, mas ainda vou ver como utiliza e depois posto aqui ok?
[]'s[/quote]
Com PrintWritter também é possível:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Scanner;
public class LerEEscrever {
public static void main(String[] args) {
// declara um Scanner para a entrada e um PrintWriter para saída
Scanner entrada = null;
PrintWriter saida = null;
// inicializa os objetos
entrada = new Scanner(System.in);
try {
saida = new PrintWriter(new FileOutputStream("log.txt", true));
} catch (FileNotFoundException e) {
e.printStackTrace();
// TODO tratar corretamente as excessões
}
// lê e vai gravando os dados
String linha = null;
while (!(linha = entrada.nextLine()).equals("SAIR")) {
saida.println(linha);
}
// fecha a entrada e a saída de dados
entrada.close();
saida.close();
}
}
public static void main(String[] args) throws IOException {
OutputStream os = new FileOutputStream("arquivo.txt");
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
Scanner entrada = new Scanner(System.in);
while (entrada.hasNextLine()) {
String linha = entrada.nextLine();
bw.write(linha);
bw.close();
}
}
}
[/code]
Existe como utilizar também o PrintStream, mas ainda vou ver como utiliza e depois posto aqui ok?
[]'s[/quote]
ôpa, valeu meu caro!!!Sou iniciante em Java…
Deu pra fazer da seguinte forma também, graças a sua ajuda:
Criei duas classes:
public class Arquivo1 {
public static void main(String[]args){
lerArquivo(“c:\arquivos1\log.txt”);
}
public static void lerArquivo(String arquivo){
File f = new File(arquivo);
if (!f.exists()){
System.out.println("Arquivo: “+ arquivo+ " -----> não existe”);
return;
}
try {
//is representa o fluxo de entrada a partir de um arquivo
InputStream is = new FileInputStream (arquivo);//armazena a entrada de dados no arquivo
//imputStreamReader é uma classe p/ converter os bytes em Chars
InputStreamReader isr = new InputStreamReader(is);
//BufferedReader é uma classe para armazenar as chars em memória
BufferedReader br = new BufferedReader (isr);
String s = br.readLine();//primeira linha
while (s != null){
System.out.println(s);
s = br.readLine();
}
}catch (Exception x){
System.out.println(x.getMessage());
}
}
}
public static void main(String args[]) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileWriter o = new FileWriter("c:\\arquivos\\log.txt");
PrintWriter out = new PrintWriter (o);
System.out.println("Digite algumas linhas na console e tecle enter para encerrar o programa...");
String linha = "wsant";
while (!linha.equals("")) {
linha = reader.readLine();
out.println(linha);
}
System.out.println("Programa encerrado!!!! "+ linha);
out.flush();
o.close();
}//fecha try
catch (IOException e) {
System.out.println("Erro: "+ e);
} //fecha catch
System.out.println("-----------------------------------------");
System.out.println("Veja abaixo o que você digitou na console:");
System.out.println("-----------------------------------------");
Arquivo1.lerArquivo("c:\\arquivos\\log.txt");
}//fecha public
}
Acho que acertei!Se tiverem sugestões eu agradeço!
[quote=cabralsan]
Acho que acertei!Se tiverem sugestões eu agradeço![/quote]
Logo de cara, a primeira sugestão é que use as tags “code” quando for postar código, Se tiver alguma dúvida, existe um tópico fixo, na parte superior da lista de tópicos, onde é explicado passo a passo como usar as tags, Depois vou ver com calma seu código e dou alguma sugestão.