2013-04-09 3 views
0
public void sendData(){ 
     try { 
      URL data = new URL("http://mywebsite.net/isvalid.php?username=" + usernameField.getText() + "&password=" + passwordField.getText()); 
      BufferedReader in = new BufferedReader(
      new InputStreamReader(data.openStream())); 

      String inputLine; 
      while ((inputLine = in.readLine()) != null) 
      if(inputLine.length() > 0) 
       inputString = inputLine; 
       in.close(); 
      if(!inputString.equals("Incorrect password.")){ 
       System.out.println("Correct password"); 
       run(); 
       dispose(); 
      } else 
       if(usernameField.getText().length() > 0 && passwordField.getText().length() > 0) { 
       invalidUP(); 
       System.out.println("Invalid username or password."); 
       } else 
        if(usernameField.getText().length() < 1 || (passwordField.getText().length() < 1)) { 
         System.out.println("No password or username entered."); 
         upLength(); 
      } 
     } catch (IOException e) { 
     e.printStackTrace(); 
     } 
    } 

Как бы проверить, имеет ли usernameField или passwordField пространство в нем? И если это так, замените его на «_».Заменить символ в java?

Кроме того, если вы считаете, что этот метод является неправильным для отправки данных, или это может быть сделано проще/быстрее, пожалуйста, уточните.

+0

посмотрите на String.replace –

+0

Секрет находится в [docs] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html) – iamnotmaynard

+0

Хорошо, сладкий. Я использовал метод replace, и он сработал. Любые мнения о самом методе (sendData)? – user2192658

ответ

0

Использование String#replaceAll():

String uname ="abc xyz"; 
uname = uname.replaceAll("\\s+", "_"); 
+0

Правильно, но нет необходимости брать огромный ружье RegExp. 'replace' должен быть намного быстрее. – mrks

+0

@mdsl заметьте мое регулярное выражение. это заменит несколько пробелов на '-'. Я предполагаю, что OP необходимо заменить несколько пробелов на '-' – PermGenError

+0

Вы должны использовать« _ »! Посмотрите на вопрос – Trinimon

0

Если есть только пространство в строке, попробуйте следующее:

username = username.replace(" " , "_"); 

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

username = username.replaceAll("\\s+" , "_"); 
+0

Зачем вам проверять, содержит ли оно пробел? Если это не так, 'replace' ничего не сделает. Итерация по строке дважды кажется мне ненужной. – mrks

0

Посмотрите на String.replace:

passwordField = passwordField.replace ('', '_');

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