Programinha de consulta

Bem…
tenho uma lista de comandos do shell
quero por nome do comando e descrição…
para futuraemnte fazer consultas…
certo…
insere-se palavras chaves sobre a descrição do comando na consulta
entao compara o escrito com o q tem jah salvo…e entao…ele compara e me devolve o comando q encontrei com a utlização da palavra chave…

[quote=shara]Bem…
tenho uma lista de comandos do shell
quero por nome do comando e descrição…
para futuraemnte fazer consultas…
certo…
insere-se palavras chaves sobre a descrição do comando na consulta
entao compara o escrito com o q tem jah salvo…e entao…ele compara e me devolve o comando q encontrei com a utlização da palavra chave…[/quote]
Bom… e?
Isso foi o quê? Um descarrego mental, uma pergunta, uma afirmação?

Até!

Eh o Chico Xavier mandando mensagens! hahahaha

rsrs…

Naum entendi P… nenhuma…

Só sei que foi engraçado…

acho q tem uma lista num arquivo, e quer fazer um programinha para consultar nesta lista, passando uma chave como parametro.

o programa se trata dos comandos do shell como sao muitos queria desenvolver um programinha onde eu entrasse com a descrição do comando… e como supondo que esqueci a sintaxe do comando…o programa vai comparar a minha descrição com a que jah tem no progrma…se a == b retorna o comando referente ou um lista se a informção for comum a diversos comandos!

tipo

duvida = sair //essas seriam as palavras chaves…o programa procuraria nos dados

programa retorna >> exit

duvida = instalar

programa retorna >> install dpkg -i*

soh que minha duvida eh… como eu faço pra comparar “linhas” inseridas plo usuario com a descrição existente no proprio programa?!

Primeiro: aprenda a ler dados do console interativamente, tem um tutorial nesse fórum sobre isso, caso precise de mais, tem a apostila FJ-11 da Caelum;
Segundo: faça as opções ficarem ou num banco de dados ou num arquivo ( mais chato de se fazer );
Terceiro: faça uma lógica de comparação. Aí é contigo, ninguém vai te dar código pronto;
Quarto: reticências fazem parecer que você está falando lentameeeeeeeeeeeeeeeeente, meio sobre efeito de entorpecentes, parecendo que estás alongando o discurso. Interrogações e ponto final são ótimo para compreensão.

Até!

É que o Shara não precisa do Miguxeitor - ele já escreve direto assim.
Nós de uma (ou duas) gerações anteriores, infelizmente, não conseguimos mais ler essas koisas xeias d reticencias…

certo.
quando tu falas console interativamnte…refere-se a pegar dados de entrada do usuario via teclado é?
pronto isso ai já sei fazer.

queria, de início, inserir para cada comando a sua descrição tipo um “man all” , entende?
vc poderia me dizer ou me indicar um tópico aki no guj que tenha me explicando a parte dois?como proceder?

thingol, “a” Shara.

prazer! me esforçando para diminuir a quantidade de pontos (…) risos
obg!

Banco de dados tem vários tutoriais nesse fórum, boa sorte.
Farias algo assim: terias uma tabela com pelo menos esses dois campos (os nomes podem diferir ) : entrada, saída;
Pegarias o comando do teclado ( exemplo: subirPlaca eth0 ) e analisaria os dados assim:

  • Comando: subirPlaca;
  • Parâmetros: eth0;
    Após isso, procurarias no banco de dados o que o comando subirPlaca faria ( exemplo: ifconfig ? up ) e subistituirias o ? pelo parâmetro eth0 e depois executaria.

Tudo isso tem em apostilas básicas de java por aí. Depois de começares, poderemos te ajudar melhor.

thingol: eu estaria também nessas “gerações anteriores”?

Até!

eu vi num outro topico do guj dizendu que o FileWriter é restrito a 20 caracteres.
serio?
assim…preciso mais do que isso…eu conversei com um colega meu e ele disse que no meu caso nao seria vantajoso fazer com banco de dados…por ser “pouco” o conteudo que quero inserir, e citou o fato de ter na máquina o sql, etc. nesse que quero desenvolver eu iria no caso levar no pendrive…para na hora do serviço qualquer duvida só .exe. certo? mas estou lendo banco d dados.

try {
BufferedWriter out = new BufferedWriter(new FileWriter(“teste”)); //esse teste é o nome do arquivo né?
out.write(str); //esse metodo write na documentacao recebe um int pq?
out.close();
} catch (Exception e) {
}

[quote=shara]eu vi num outro topico do guj dizendu que o FileWriter é restrito a 20 caracteres.
serio?
assim…preciso mais do que isso…[/quote]
Onde você viu isso? Pode ser que o buffer dele seja de 20 caracteres, não que eles só aceite 20.

Seu amigo está desinformado nesse caso, pois há vários bancos embarcados que poderias usar sem precisar instalar, tem vários tópicos nesse fórum sobre isso

[quote=shara] nesse que quero desenvolver eu iria no caso levar no pendrive…para na hora do serviço qualquer duvida só .exe. certo? mas estou lendo banco d dados.

try {
BufferedWriter out = new BufferedWriter(new FileWriter(“teste”)); //esse teste é o nome do arquivo né?
out.write(str); //esse metodo write na documentacao recebe um int pq?
out.close();
} catch (Exception e) {
}[/quote]
O que estás fazendo é escrever em um arquivo, é isso que queres? O BufferedWriter.out() tem 3 assinaturas:

  • recebendo um array de char, o índice de início e o índice de fim;
  • recebendo um único caracter, assim recebendo um int;
  • recebendo um String, o índice de início e o índice de fim;

Até!

rapaz!!! vlw!!
consegui escrever.escrevendo no final d alinha aff estava quase desistindo e fazndu em c mesmo sabe
mas consegui!
só uma questão: como fazer para que a proxima inserção no arquivo seja gravada na linha de baixo? :shock:

Coloque ao final da linha um “\n”.

Até!

eu ja tinha posto mas nao deu certo.

saida.println(str);  //usei esse aki, ai ele escreve no arquivo colocando o cursor na linha d baixo..encontrei num dos topicos daqui.!

vlw!! agora fazer a classe para ler!

nesse código abaixo é para leitura, detalhe não está lendo…por que no final linha imprime null
jah escrevei no arquivo wtite2 com a classe read q implementei com ajuda dos topicos do guj
o q tem d errado?!
o endereço d arquivo eh o mesmo do que esta na classe read.

[code]import java.io.*;

public class Read {
public Read(){

	try {
		FileReader fr = new FileReader(new File("f:\CEFET\POO\Manipula daodos\write2.txt"));
		BufferedReader leitor = new BufferedReader(fr);
		String linha = null;
		linha = leitor.readLine();
		while(linha != null) {
			linha = leitor.readLine();
			System.out.println(linha);
		}
		leitor.close();
		fr.close();
	}catch(IOException e){System.out.println("Ops, esses erros me fazem passar vergonha!");}
}

}[/code]

thanks!!

try { BufferedReader in = new BufferedReader(new FileReader("f:\CEFET\POO\Manipula daodos\write2.txt")); String str; while ((str = in.readLine()) != null) { System.out.println(str); } in.close(); } catch (IOException e) { }

usando esse dai agora deu certo

perfeito…
agradecendo ah maqui…e aos topicos do guj…agora vou inserir os comandos…

o porblema agora é o buffer de teclado jha olhei aki no forum apareceu algo como flags mas nao entendi…apareceu outras soluções só que em c

o porblema eh q agora resolvi utilizar o switch //clico 1…aperto enter… (enter tah no buffer de teclado)
1 - cadastrar codigo
case Write write = new Write();
nessa classe Write ele pede para digitar o comando que quero armazenar mas como jah tem o enter no buffer ele
grava eh o enter no .txt
what i do?! :shock:

alguém quer Jafé?! :smiley: