继昨天的经验贴,今天的工作又收获不少。
在windows的编辑器中,为了区分编码,通常会添加一个BOM标记。比如,记事本、nodepade++、sublimeText都会出现这个问题。如果使用filereader去读,就会发现第一行出现了乱码:
此时,可以使用编辑器比如nodepad++,点击encoding,设置为<code>encode with utf-8 without bom</code>,这样就没有问题了。
测试程序可以参考:
Socket可以保证TCP进行长时间的连接,并且可以进行IO的复用,避免每次发送数据都需要建立连接。那么就会涉及到两种超时:
连接超时,即Socket连接服务器的时间,默认是0,即无超时
读写超时,由于Socket是IO阻塞的,因此会有一定的读写延时,默认也是0,即无超时
我们可以手动的来定义这两个超时:
windows下和linux下的换行符是不一样的。windows下是<code>\r\n</code>,而linux下是<code>\n</code>。因此在做读文件的时候,如果记录一些偏移值,就会出现一定的错误。
因此可以在代码中进行系统的判断:
首先如果想要使用Logback,必不可少的3个包:
logback-classic-xxx.jar
logback-core-xxx.jar
slf4j-api-xxx.jar
然后就可以使用了
在Logback中有一个概念十分重要,就是appender。Appender定义了日志的处理方式,比如是在控制台打印,还是记录到文件,或者采用高级的轮转模式等等。在src目录下创建logback.xml配置Logback的使用。
如果你只是输出到控制台,那么可以这样配置
如果只是定向的输出到某个文件,则可以这样配置:
另一种常用的模式,就是按照日期轮转。比如,今天的日志是Log.04-07.log,昨天的日志则是Log.04-06.log。那么可以按照下面的配置方式执行:
最新的日志总是记录到file指定的文件中,如果没有file属性,则会按照fileNamePattern定义的模式创建。一般来说,都不会使用这个file属性。
就暂且记录这些吧~~