因為測試IM會用到一些賬號,於是寫了一段代碼從數據庫里把需要的用戶名、密碼和手機號都一一取了出來,然后放到NotePad++中做進一步的處理。
取用戶名、手機號和密碼的代碼如下:
public class MainTest { static ResultSet ret=null; public static void main(String[] args) { String sql = null; sql = "SELECT username,phoneno FROM `ofuser` where username BETWEEN \"55009001\" AND \"55010000\";"; MysqlConnUtil mysqlConnUtil=new MysqlConnUtil(sql); try { ret=mysqlConnUtil.pst.executeQuery(sql); while (ret.next()) { String username=ret.getString(1); String phoneno=ret.getString(2); String str=username+","+phoneno+",111111";
String str1=username+","; System.out.println(str1); } } catch (SQLException e) { e.printStackTrace(); } mysqlConnUtil.close(); } }
取出的賬號格式如下:
55009001,
55009002,
55009003,
55009004,
55009005,
55009006,
55009007,
55009008,
55009009,
55009010,
55009011,
55009012,
55009013,
放到NotePad++里保存以后,將這些用戶名放在Linux某一目錄下,啟動Tsung腳本讀取這些數據,讀取這些數據的Tsung腳本如下:
<setdynvars sourcetype="file" fileid="recvId" delimiter="," order="iter"> <var name="recUserId"/> </setdynvars>
以“,“號作為分隔符,也就是說每次以”,“號作為分隔來讀取數據。然而,tsung_controller里的log顯示取出的數據如下:
可以看到,除了我們要的賬號,還有一個"\r",從文檔上來看沒有完全沒有看到"\r",這個"\r"是從哪里來的呢,於是,大膽的在NotePad++里搜了一下"\r",居然有查找結果!!!!!
於是,開始查詢這個"\r"的作用:
在windows下,“回車”+“換行”才可以重新開啟一行,其中,"回車"的符號是:"\r","換行"的符號是:"\n",換行的意思是重新開啟一行,但是,光標的位置不一定在行首,這時”回車“的作用就是光標定位在行首,這就是在Windows下每次換行時看到的結果。然而,在Linux下,沒有”回車“的動作,也就是沒有”\r"符號,只有一個"\n"的動作就足夠了,所以取數據時就多了一個"\r"。這時,這個數據文檔在windows下,只要將所有的"\r"去掉即可。