2016-05-04 4 views
1

Я пытаюсь распечатать коллекцию слов в файл CSV и стараюсь, чтобы пробелы не печатались как слово.Ячейка печати печати Печать

static TreeMap<String,Integer> wordHash = new TreeMap<String,Integer>(); 
    Set words=wordHash.entrySet(); 
    Iterator it = words.iterator(); 

     while(it.hasNext()) { 
     Map.Entry me = (Map.Entry)it.next(); 
     System.out.println(me.getKey() + " occured " + me.getValue() + " times"); 
     if (!me.getKey().equals(" ")) { 
     ps.println(me.getKey() + "," + me.getValue()); 
     } 
    } 

Всякий раз, когда я открываю CSV, а также в консоли, выход:

 1 
    10 1 
    a 4 
test 2 

Я пытаюсь удалить эту первую запись из пространства, я думал, проверяя заявление, если ключ не был бы пространством, но он все равно печатает пробелы. Любая помощь приветствуется. Благодарю.

+0

попробуйте 'String # trim()' на ваш ключ и значение – Sanjeev

+0

Мы не можем знать, что это такое. Это могут быть два пробела, три пробела, вкладка, неразрывное пространство и т. Д. Используйте свой отладчик и смотрите сами. Или откройте файл с помощью текстового редактора и посмотрите сами. –

ответ

0

Ваше состояние устраняет только однократные пробелы. Если вы хотите, чтобы исключить любое количество пустых пространств, используйте:

if (!me.getKey().trim().isEmpty()) { 
    ... 
} 

Это предполагает, что me.getKey() не может быть пустым.

+0

Это сработало отлично, спасибо! – CS2016