Pequeno programa para redigir, ler, salvar e inverter Strings em JAVA:
--------------------------------------------------------------------------------------------------------
/**
* @(#)ls.java
*
* ls application
*
* @author
* @version 1.00 2010/9/6
*/
import java.io.*;
import java.util.Scanner;
public class ls {
public static void main(String[] args) {
ls ls = new ls();
Scanner entra = new Scanner(System.in);
int i=0, w=0;
String line="", text="", caminhonome="";
String aux = "";
aux += "Digite a opção desejada: \n";
aux += "1 - Digitar texto; \n";
aux += "2 - Salvar texto; \n";
aux += "3 - Abrir texto; \n";
aux += "4 - Inverter segunda linha do texto; \n";
aux += "5 - Fechar aplicativo \n";
while (i != 5){
System.out.println(aux);
i = entra.nextInt();
switch(i){
case 1: //DIGITA FRASES
System.out.println("Quando acabar o texto, digite 'S' e dê enter");
while (w==0){
line = entra.nextLine();
if(line.equals("S")){
w=1;
}
line+="P";
text+=line+"\n";
}
break;
case 2: // salva texto
System.out.println("Digite o caminho completo e o nome do arquivo a ser salvo:");
caminhonome = entra.next();
ls.salvar(text, caminhonome);
break;
case 3: // abre texto
System.out.println("Digite o caminho completo e o nome do arquivo a ser aberto:");
caminhonome = entra.next();
text = ls.abrir(caminhonome, 1);
System.out.println(text);
break;
case 4: // inverte texto
System.out.println("Digite o caminho completo e o nome do arquivo a ser invertido:");
caminhonome = entra.next();
text = ls.abrir(caminhonome, 0);
System.out.println(text);
break;
case 5: // fecha programa
i=5;
break;
default:
System.out.println("Opção não Encontrada.");
break;
}
}
System.exit(0);
}
public String abrir(String caminhonome, int abre){
FileInputStream fis;
String retorno="";
try {
fis = new FileInputStream(caminhonome);
DataInputStream dis = new DataInputStream(fis);
int c=0;
while (dis.available() != 0) {
String line = dis.readLine();
c++;
if(abre==1){
if (line.equals(" P")){
retorno += "\n";
}
else{
retorno += line;
}
}
else{
if (line.equals(" P")){
retorno += "\n";
}
else{
retorno += process(line, c);
}
}
}
}
catch (FileNotFoundException e) {
System.out.println("Arquivo não encontrado.");
}
catch (IOException e) {
System.out.println("Erro ao utilizar o arquivo.");
}
return retorno;
}
public void salvar(String line, String caminhonome){
try {
BufferedWriter out = new BufferedWriter(new FileWriter(caminhonome));
out.write(line);
out.close();
}
catch(IOException e){
System.out.println("Erro ao salvar o arquivo.");
}
System.out.println("Arquivo sobreescrito com sucesso");
}
public String process(String line, int c){
String text="";
if(c%2==0){
StringBuffer sb = new StringBuffer(line);
text += sb.reverse() +"\n";
return text;
}
else{
return line;
}
}
}
Nenhum comentário:
Postar um comentário