2012-07-21 91 views
-1

我有一個問題,在這個代碼.concat無法讀取空間

public void setTmbhUserFtp(View v) { 
     Spinner spinner = (Spinner) findViewById(R.id.spinner); 
     Server server = serverlist.get(spinner.getSelectedItemPosition() - 1); 
     EditText EditAdduser = (EditText) findViewById(R.id.EditAdduser); 
     EditText EditPassworduser = (EditText) findViewById(R.id.EditPassworduser); 
     String sTextAdduser = EditAdduser.getText().toString(); 
     String sTextPassworduser = EditPassworduser.getText().toString(); 

     if (server != null && sTextAdduser.length() > 0 
      && sTextPassworduser.length() > 0) { 
     final String ADDUSER = "sh /home/add_user.sh".concat(sTextAdduser) .concat(sTextPassworduser); 
     FtpConnect u = new FtpConnect(); 
     Command o = new Command(getResources().getText(R.string.adduser) 
       .toString(), ADDUSER, server); 
     u.setCommand(ADDUSER); 

     pd = ProgressDialog.show(actual, 
       getResources().getString(R.string.PleaseWait), o.getName()); 
     actualThreadCommand = o; 
     Thread thread = new Thread(actual); 
     thread.start(); 

    } else { 
     Toast.makeText(getBaseContext(), 
       getResources().getText(R.string.gagal), Toast.LENGTH_LONG) 
       .show(); 
    } 

} 

代碼是在Linux這樣

sh /home/add_user.sh username password 

使用EXCUTE但是當我從我的Android用戶名和密碼嘗試正在一個

所以代碼是這樣

sh /home/add_user.sh usernamepassword 

如果用戶名是伊爾凡和密碼是伊爾凡,代碼檢測

sh /home/add_user.sh irfanirfan 

所以用戶名爲irfanirfan並沒有一個密碼

代碼add_user.sh是

useradd $1; echo -e "$2\n$2" | passwd $1 

如何解決

final String ADDUSER = "sh /home/add_user.sh ".concat(sTextAdduser) .concat(sTextPassworduser); 

後.concat(sTextAdduser)必須是空間

因此Linux將EXCUTE

sh /home/add_user.sh irfan irfan 

回答

1

這種方式,你可以解決你的問題:

final String ADDUSER = "sh /home/add_user.sh "+sTextAdduser+" "+sTextPassworduser; 
+0

精選文摘中不工作,,和錯誤 – 2012-07-21 05:31:41

+0

這樣我們就可以在任何String..Please給空間嘗試打印或嘗試,如果您有任何疑問,你沒有得到space..I有它舉杯慶祝檢查自己...順便說一句,你得到的錯誤是什麼? – 2012-07-21 05:50:34

+1

那工作,,因爲檢測空 – 2012-07-21 06:24:27

0
final String ADDUSER = "sh /home/add_user.sh ".concat(sTextAdduser) 
.concat(" ") 
.concat(sTextPassworduser); 
+0

不工作? – 2012-07-21 06:04:42

+0

爲什麼你認爲.concat(」「)謝謝verymuch先生:) – 2012-07-21 06:07:09

+0

你能再看看我的源代碼嗎?在我的文摘 – 2012-07-21 06:15:14

0
final String ADDUSER = "sh /home/add_user.sh "+sTextAdduser+"\\ "+sTextPassworduser; 

使用反斜線然後是任意路徑addSpace空間在Linux中。

+0

不工作 – 2012-07-21 05:31:16

+0

我已經編輯我的答案。請立即檢查。 – Waqas 2012-07-21 06:24:09

+0

好的,謝謝:) – 2012-07-21 07:33:41