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"去掉即可。

 

 

 


 

posted @ 2016-05-19 15:34  水滴儿  阅读(5600)  评论(0编辑  收藏  举报