Guest User

Quitar comentarios

a guest
Feb 22nd, 2012
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. public class quita_comentarios {
  4.  
  5.     /**
  6.      * Escribe un programa capaz de quitar los comentarios de un programa de
  7.      * Java. Se utilizaría de la siguiente manera:
  8.      * quita_commentarios PROGRAMA_ORIGINAL PROGRAMA_LIMPIO
  9.      * Por ejemplo:
  10.      * quita_comentarios hola.java holav2.java
  11.      * crea un fchero con nombre holav2.java que contiene el código de hola.java
  12.      * pero sin los comentarios.
  13.      */
  14.     public static void main(String[] args) {
  15.         try{
  16.             BufferedReader br = new BufferedReader(new FileReader(args[0]));
  17.             if (!args[0].contains(".java")){
  18.                     System.out.println("Lo siento, este programa solo funciona con ficheros cuya extension es \".java\".");
  19.             }   else{
  20.                     BufferedWriter bw = new BufferedWriter(new FileWriter(args[0].replace(".java", "v2.java")));
  21.                    
  22.                     String linea = "evitaPrimerSalto";
  23.                     while (linea != null){
  24.                         if (!linea.equals("evitaPrimerSalto")){
  25.                             if (!linea.contains("/*") && !linea.contains("//"))
  26.                                     bw.write(linea+"\n");
  27.                         }
  28.                         char[] lineaAr = new char[linea.length()];
  29.                         for (int i = 0; i < linea.length(); i++)
  30.                             lineaAr[i] = ' ';
  31.                         if (linea.contains("//")){ 
  32.                             linea.getChars(0, linea.indexOf("//"), lineaAr, 0);
  33.                             bw.write(lineaAr);
  34.                             bw.write("\n");
  35.                         }
  36.                         char[] lineaAr2 = new char[linea.length()];
  37.                         for (int i = 0; i < linea.length(); i++)
  38.                             lineaAr2[i] = ' ';
  39.                         if (linea.contains("/*")){
  40.                             linea.getChars(0, linea.indexOf("/*"), lineaAr2, 0);
  41.                             bw.write(lineaAr2);
  42.                             bw.write("\n");        
  43.                             while (!linea.contains("*/"))
  44.                                 linea = br.readLine();
  45.                         }
  46.                         char[] lineaAr3 = new char[linea.length()];
  47.                         for (int i = 0; i < linea.length(); i++)
  48.                             lineaAr3[i] = ' ';
  49.                         if (linea.contains("*/")){
  50.                             linea.getChars(linea.indexOf("*/")+2, linea.length(), lineaAr3, 0);
  51.                             bw.write(lineaAr3);
  52.                             bw.write("\n");
  53.                         }
  54.                         linea = br.readLine();
  55.                     }//while != null
  56.                     bw.close();
  57.                 }//else
  58.             br.close();
  59.             System.out.println("\n¡Comentarios eliminados! ;)\n");
  60.         }catch (IOException ioe){
  61.             System.out.println("Se ha producido un error de lectura/escritura");
  62.             System.err.println(ioe.getMessage());  
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment