Boa noite, estou tentando criar um menu no console do meu java com as seguintes opções:
1 - Para inserir nome no arquivo, o qual eu queria gerar uma caixa de diálogo para essa ação.
2 - Para exibir todos os nomes do arquivo, os nomes digitados na opção 1 que aparecem no arquivo txt.
3 - Para apagar todos os campos digitados nos arquivos.
A única coisa que consegui fazer foi criar a janela de diálogo para digitar algo no arquivo de texto, mas mesmo assim não consegui integrá-la em um menu.
import javax.swing.JOptionPane;
public class Principal {
public static void main(String[] args) {
Path local = Paths.get("C:/Users/seunomedeusuario/Desktop/Arquivo de Texto.txt");
String texto = JOptionPane.showInputDialog("O que quer escrever no bloco de notas?");
byte[] textoEmByte = texto.getBytes();
try {
Files.write(local, textoEmByte);
}catch(Exception erro){
}
}
}
A caixa de diálogo que você está usando é apenas um componente que apresentará um campo e retornará o valor digitado nesse campo, bem como o botão que o usuário apertou (ok, cancel, yes, no, etc).
Pelo que entendi, você quer criar um bloco de notas, certo?
Nesse caso, estude sobre JFrames e outros componentes do swing.
no caso eu teria que criar uma variável contador, e fazer o que mais? qual seria melhor usar (while, for…)? onde esse contador teria que ser chamado (qual posição)?
Pq em java eu ainda sou muito leigo na linguagem.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Scanner;
public class Principal {
private static final Scanner IN = new Scanner(System.in);
private static final PrintStream OUT = System.out;
private static final int INSERIR_NOME = 1;
private static final int EXIBIR_NOMES = 2;
private static final int LIMPAR_ARQUIVO = 3;
private static final int SAIR = 4;
public static void main(String[] args) throws IOException {
File arquivo = new File("C:\\Users\\********\\Desktop\\Projeto");
if (!arquivo.exists()) {
arquivo.createNewFile();
}
int codigo = 0;
do {
OUT.println("DIGITE: ");
OUT.println(INSERIR_NOME + " - Para inserir nome no arquivo\n"
+ EXIBIR_NOMES + " - Para exbir todos os nomes do arquivo\n"
+ LIMPAR_ARQUIVO + " - Para apagar todo o arquivo\n"
+ SAIR + " - Para sair");
codigo = Integer.parseInt(IN.nextLine());
switch (codigo) {
case INSERIR_NOME:
PrintWriter writer = new PrintWriter(new FileWriter(arquivo));
OUT.println("Escreva algo no arquivo: ");
writer.println(IN.nextLine());
writer.flush();
writer.close();
break;
case EXIBIR_NOMES:
OUT.println("Nomes no arquivo: ");
BufferedReader reader = new BufferedReader(new FileReader(arquivo));
String linha;
while ((linha = reader.readLine()) != null) {
OUT.println(linha);
}
reader.close();
break;
case LIMPAR_ARQUIVO:
arquivo.delete();
arquivo.createNewFile();
OUT.println("O arquivo foi limpo!");
break;
}
} while (codigo != SAIR);
}
}