2013-03-06 3 views
3

Как добраться String от JTextField или JTextArea с по-польскими буквами? Когда я использую myTxtArea.getText() и в моих JTextArea У меня ĄĆĘŁŃÓŚŹŻąćęłńóśźż только он узнает ?????Ó????????ó???.Польские буквы от JTextField

Текст с обеих JTextField и JTextArea будет сохранен в формате * .txt файл

Вот мой код:

import java.io.BufferedWriter; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class MyAppCreateAcc { 

public static void main(String[] args) throws IOException { 
     AppGUI ag = new AppGUI(); 
    } 
public MyAppCreateAcc() throws IOException { 

    String group = AppGUI.getGroup().getText(); 

    String[] lines = AppGUI.getNote().getText().split("\\n"); 

    BufferedWriter w = new BufferedWriter(new FileWriter(
      "zaloz_konta.cmd")); 
    w.write("mode con codepage select=1250"); 
    w.newLine(); 

    for (int j = 0; j < lines.length; j++) { 

     /* 
     * delete more than one space between words and from the full name 
     * create a short one first letter of name and surname after all 
     * lowercase like on example: John Smith = jsmith 
     */ 
     if (lines[j] == null || lines[j].equals("")) { 

      // if there is a gap between the names do nothing 

     } else { 
      lines[j] = lines[j].trim().replaceAll(" +", " "); 
      Pattern pattern = Pattern.compile("\\s([A-Za-z]+)"); 
      Matcher matcher = pattern.matcher(lines[j]); 
      String shortName = ""; 
      if (matcher.find()) { 
       shortName = (lines[j].charAt(0) + matcher.group(1)) 
         .toLowerCase(); 
      } 

      w.write("call konto.cmd " + shortName + " \"" + lines[j] 
        + "\" 123 " + "\"" + group + "\""); 
      w.newLine(); 
     } 
    } 
    w.close(); 
} 

} 

Я хочу, чтобы получить польские письма только от:

String[] lines = AppGUI.getNote().getText().split("\\n");

ответ

2

для JTextCompoents использовать

по умолчанию принимать разделители и Файлы кодируются на странице

+0

Как использовать его в моем случае? – knowbody

+0

[например] (http://www.java2s.com/Code/JavaAPI/javax.swing/JTextComponentwriteWriterout.htm), вы все еще проблема с страницей кодирования после использования read()/write() – mKorbel

+0

is not это то, что я использую? – knowbody

2

Вы хотите использовать UTF-8 Кодировка. Дайте что попробовать

String s = new String(AppGUI.getNote().getText().getBytes(), "UTF-8"); 
String[] lines = s.split("\\n");  
+0

как насчет если моя 'Строка s' является массивом? – knowbody

+0

Опубликовать код. – deadlock

+0

'String [] lines = AppGUI.getNote(). GetText(). Split (" \\ n ");' – knowbody

1

Я протянул мой pattern и это помогло, а также:

lines[j] = lines[j].trim().replaceAll(" +", " "); 
Pattern pattern = Pattern.compile("\\s([A-Za-ząćęłńóśźżĄĘŁĆŃÓŚŹŻ]+)"); 
Matcher matcher = pattern.matcher(lines[j]); 
+0

Вы отсутствует символ «Ć» в верхнем регистре. – Cleankod

 Смежные вопросы

  • Нет связанных вопросов^_^