Windows和Linux下換行的不同


因為測試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"去掉即可。

 

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM