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