日志框架、文件输入、输出流

日志的规范是什么,常见的有几种形式。

日志规范大多是一些接口,提供给实现框架去设计的。

常见的规范是: Commons Logging 、Simple Logging Facade for Java

日志的实现框架有哪些常见的? Log4J 、Logback

Logback是基于slf4j的日志规范实现的框架。

Logback主要分为三个技术模块:

logback-core: logback-core 模块为其他两个模块奠定了基础,必须有。

 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API。

logback-access 模块与 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 访问日志功能

所需模块:

slf4j-api:日志规范、 logback-core:基础模块。、 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API。

 通过logback.xml 中的<append>标签可以设置输出位置和日志信息的详细格式。

通常可以设置2个日志输出位置:一个是控制台、一个是系统文件中。

 

 日志级别

级别程度依次是:TRACE< DEBUG< INFO<WARN<ERROR  ;

默认级别是debug(忽略大小写),对应其方法。 作用:用于控制系统中哪些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。 ALL  和 OFF分别是打开全部日志信息,及关闭全部日志信息。

具体在<root level=“INFO”>标签的level属性中设置日志级别。

文件

1、File类的作用? 创建对象定位文件,可以删除、获取文件信息等。但是不能读写文件内容。 2、File类构建对象的方式 ? File file = new File(“文件/文件/绝对路径/相对路径”);

3、绝对路径和相对路径是什么样的? 绝对路径是带盘符的,依赖当前系统。 相对路径是不带盘符的,默认相对到工程下开始寻找文件。

File类的判断文件类型、获取文件信息功能

方法名称

说明

public boolean isDirectory()

测试此抽象路径名表示的File是否为文件夹

public boolean isFile()

测试此抽象路径名表示的File是否为文件

public boolean exists()

测试此抽象路径名表示的File是否存在

public String getAbsolutePath()

返回此抽象路径名的绝对路径名字符串

public String getPath()

将此抽象路径名转换为路径名字符串

public String getName()

返回由此抽象路径名表示的文件或文件夹的名称

public long lastModified()

返回文件最后修改的时间毫秒值

 文件创建

方法名称

说明

public boolean createNewFile()

创建一个新的空的文件

public boolean mkdir()

只能创建一级文件夹

public boolean mkdirs()

可以创建多级文件夹

文件删除

方法名称

说明

public boolean delete​()

删除由此抽象路径名表示的文件或空文件夹

 文件遍历

方法名称

说明

public boolean delete​()

删除由此抽象路径名表示的文件或空文件夹

Unicode是万国码,以UTF-8编码后一个中文一般以三个字节的形式存储。

UTF-8也要兼容ASCII编码表。 技术人员都应该使用UTF-8的字符集编码。

编码前和编码后的字符集需要一致,否则会出现中文乱码。 

字符串常见的字符底层组成是什么样的?

英文和数字等在任何国家的字符集中都占1个字节 GBK字符中一个中文字符占2个字节

UTF-8编码中一个中文1般占3个字节

编码前的字符集和编码好的字符集有什么要求?

必须一致,否则会出现中文字符乱码 英文和数字在任何国家的编码中都不会乱码。

方法名称

说明

byte[] getBytes​()

使用平台的默认字符集将该 String编码为一系列字节,将结果存储到新的字节数组中

byte[] getBytes​(String charsetName)

使用指定的字符集将该 String编码为一系列字节,将结果存储到新的字节数组中 

IO流的作用? 读写文件数据的。 IO流是怎么划分的,大体分为几类,各自的作用?

字节流:字节输入流,字节输出流(读写字节数数据的)

字符流:字符输入流,字符输出流(读写字符数据的) 

方法名称

说明

public int read()

每次读取一个字节返回,如果字节已经没有可读的返回-1

public int read(byte[] buffer)

每次读取一个字节数组返回,如果字节已经没有可读的返回-1

每次读取一个字节存在什么问题? 性能较慢,读取中文字符输出无法避免乱码问题。 

文件字节输出流:FileOutputStream 作用:以内存为基准,把内存中的数据以字节的形式写出到磁盘文件中去的流。

构造器

说明

public FileOutputStream​(File file)

创建字节输出流管道与源文件对象接通

public FileOutputStream​(File file,boolean append)

创建字节输出流管道与源文件对象接通,可追加数据

public FileOutputStream​(String filepath)

创建字节输出流管道与源文件路径接通

public FileOutputStream​(String filepath,boolean append)

创建字节输出流管道与源文件路径接通,可追加数据

3. 字节输出流如何实现写出去的数据能换行 os.write(“\r\n”.getBytes())

4. 如何让写出去的数据能成功生效?

flush()刷新数据 close()方法是关闭流,关闭包含刷新,关闭后流不可以继续使用了。 

资源释放的方式

finally:在异常处理时提供finally块来执行所有清除操作,比如说IO流中的释放资源

特点:被finally控制的语句最终一定会执行,除非JVM退出 异常处理标准格式:try….catch…finally

try-catch-resource的作用: 自动释放资源、代码简洁

 文件字符输入流:Reader

作用:以内存为基准,把磁盘文件中的数据以字符的形式读取到内存中去。

构造器

说明

public FileReader​(File file)

创建字符输入流管道与源文件对象接通

public FileReader​(String pathname)

创建字符输入流管道与源文件路径接通

文件字符输出流:FileWriter

作用:以内存为基准,把内存中的数据以字符的形式写出到磁盘文件中去的流。 

构造器

说明

public FileWriter(File file)

创建字符输出流管道与源文件对象接通

public FileWriter​(File file,boolean append)

创建字符输出流管道与源文件对象接通,可追加数据

public FileWriter​(String filepath)

创建字符输出流管道与源文件路径接通

public FileWriter​(String filepath,boolean append)

创建字符输出流管道与源文件路径接通,可追加数据

3. 字符输出流如何实现写出去的数据能换行

fw.write(“\r\n”)

4. 字符输出流如何实现写出去的数据能换行

flush()刷新数据

close()方法是关闭流,关闭包含刷新,关闭后流不可以继续使用了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值