Удаление целых блоков из кода

224
11 июля 2017, 19:34

всем хай, есть код который хранится в текстовом файле, и там есть блоки If , While , циклы for или же просто идентичные целые строки,которые были скопированы и вставлены чтоб не писать одно и тоже несколько раз, вот надо их найти и удалить оставив лишь один экземпляр. (на счет того что код не будет работать после удаление чего-либо не стоит задумываться, моя задача только удалить)

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.LinkedHashSet; 
class C {
    public static void main(String [] args) throws FileNotFoundException {
        String [] rows = new Scanner(new File("file.txt")).useDelimiter("\\Z").next().split("\n");
        for ( String s : rows ){
            System.out.println(s);
       }

         int i;
        LinkedHashSet<String> text = new  LinkedHashSet<>();
        for(i=0; i<rows.length; i++){
            text.add(rows[i].replaceAll("\\s", ""));    
            }   
          System.out.println("-----------------------------------------------------------------");
           String[] stringArr = new String[text.size()];
            text.toArray(stringArr); 
            int j=0;
            for (String a : stringArr){
            j=j+1;
            System.out.println(a);
        }
        System.out.println("Новый размер = " + j);  
    }
}

вот что я понаписал,я читаю из файла по строкам, затем записываю эти строки в Set с удалением всех пробелов, но тут возникают проблемы 1)удаляются закрывающие фигурные скобки 2) надо снова расставить эти удаленные пробелы.

помогите додумать и переделать код, или же предложите что-то другое, всем спасибо

содержимое file.txt:

import java.util.LinkedHashSet;
public class A{

    public static void main(String[] args) {
 String b = " ";    
 String s[] = b.split(" ") ;

     LinkedHashSet<String> words = new  LinkedHashSet<>();
     int i;
     while(0){
            System.out.println("Размер = " + words.size());
          System.out.println(words.toString());
          i++;
           }
     for(i=0; i<s.length; i++){
          words.add(s[i]);
          }
        for(i=0; i<s.length; i++){
          words.add(s[i]);
          }
          System.out.println("Размер = " + words.size());
          System.out.println(words.toString());
          System.out.println("-----------------------------------------------------------------");
            String[] stringArr = new String[words.size()];
            words.toArray(stringArr); 
            for (String a : stringArr)
            System.out.print(a+" ");
           while(0){
            System.out.println("Размер = " + words.size());
          System.out.println(words.toString());
          i++;
           }
      }
}
READ ALSO
Как создать обертку на java для python?

Как создать обертку на java для python?

Есть система на python, надо, чтобы она запускалась из-под JSPМне нужно написать обертку для этой системы, чтобы ее можно было собрать в java-приложение...

258
При загрузке apk в Google Play появляется ошибка

При загрузке apk в Google Play появляется ошибка

В чем может быть проблема? При тестировании на устройствах, приложение работает исправно, а как сгенерировал apk, так сразу появилась ошибка

250
Можно ли выполнить require() из одного WP сайта в другом, находящемся в поддомене?

Можно ли выполнить require() из одного WP сайта в другом, находящемся в поддомене?

Заголовок, возможно, написан несколько некорректно, поэтому попробую обрисовать проблему в целом

277
На что ругается django?

На что ругается django?

Подскажите, на что ругается django?

451