package editor;import java.io.BufferedReader;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import javax.swing.JOptionPane;public class Editor { /** * Faca um Editor de textos primitivo c/ o seguinte menu * 1 - Digitar uma linha * 2 - Digitar Textos ate que "sair" seja digitado * 3 - Exibir * 4 - Remover a Linha: informar numero da linha * 5 - Editar Linha: informar numero da linha * 6 - Limpar * 7 - Localizar: Pergunta pela palavra * 8 - Substituir: Pergunta pela palavra antiga, nova e substitui. * * @param args */ private static ArrayList<String> texto = new ArrayList<String>(); private static String linha; private static String nova; private static String palavra; private static String linhas; private static int op; // DIGITAR UMA UNICA LINHA public static void setLinha(String linha){ texto.add(linha); } // DIGITAR VARIAS LINHAS public static void setLinhas(){ do{ linhas = JOptionPane.showInputDialog("Digite nova linha. <sair>, para encerrar digitacao"); if (linhas.equals("sair")){ // "equals" usado para comparar strings break;} else{texto.add(linhas);} }while(!(linhas.equals("sair"))); } // EXIBIR O TEXTO public static void getTexto(){ int i = 0; for (String s : texto) { linha = texto.get(i); System.out.println(linha); i++; } } // REMOMVER UMA LILNHA public static void remLinha(int pos){ texto.remove(pos); getTexto(); } // EDITAR UMA LINHA public static void editLinha(int pos, String linha){ texto.set(pos, linha); getTexto(); } // APAGARR O ARRAY public static void limpar(){ if (JOptionPane.showConfirmDialog(null, "Deseja realmente limpar todo o texto?")==JOptionPane.YES_OPTION){ texto.clear();} } // ENCONTRAR UMA PALAVRA OU SEQUENCIA DE CARACTERES public static void localizar(){ palavra = JOptionPane.showInputDialog("Digite a sequencia que deseja localizar"); int aux = 0; int i = 0; for (String s : texto) { linha = texto.get(i); if(linha.contains(palavra)){ //JOptionPane.showMessageDialog(null, "palavra ("+palavra+") encontrada na linha "+i); System.out.println("palavra ("+palavra+") encontrada na linha "+i); aux = 1; } i++; } if (aux == 0){System.out.println("Palavra ("+palavra+") nao encontrada no texto");} } public static void substituir(){ palavra = JOptionPane.showInputDialog("Digite a palavra a ser substituida"); nova = JOptionPane.showInputDialog("Digite a nova palavra"); int aux = 0; op = 0; op = Integer.parseInt(JOptionPane.showInputDialog("Digite: \n 1 - Substituir a primeira ocorrencia.\n 2 - Substituir todas as ocorrencias.")); int i = 0; for (String s : texto) { linha = texto.get(i); // pega a linha na posiAAAo "i" do ArrayList texto if(linha.contains(palavra)){ // verifica se a linha contem (contains) a palavra a ser trocada if (op == 1){ linha = linha.replaceFirst(palavra, nova);// troca a palavra pela nova, na linha texto.set(i, linha);// aux = 1; break;}// Se foi escolhido substituir apenas a primeira ocorrencia (op == 1), para por aqui else if (op == 2){ linha = linha.replaceAll(palavra, nova);// troca a palavra pela nova, na linha texto.set(i, linha); aux = 1; } } i++; } if (aux == 0){System.out.println("Palavra ("+palavra+") nao encontrada no texto");} } public static void salvar(String endereco, String arquivo) { try { String end = endereco+"\\"+arquivo; FileWriter file = new FileWriter(end, false); int i = 0; for (String s : texto){ linha = texto.get(i)+System.getProperty("line.separator"); file.write(linha); i++; } file.close(); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("Endereco nao encontrado"); } } public static void abrir(String endereco, String arquivo) { texto.clear(); try { String end = endereco+"\\"+arquivo; BufferedReader file = new