EncodedResource类解读

EncodedResource类解读

EncodedResource介绍

EncodedResource是spring中Resource编码相关的封装类,EncodedResource里面封装了一个Resource成员属性,其实主要功能就是通过指定的编码获取资源的输入流。

EncodedResource部分源码

EncodedResource主要看getReader()方法,这个方法通过指定的编码方式返回InputStreamReader。

public class EncodedResource implements InputStreamSource {
	
	private final Resource resource;

	@Nullable
	private final String encoding;

	@Nullable
	private final Charset charset;
	
	//.......
	
    //获取InputStreamReader
	public Reader getReader() throws IOException {
		if (this.charset != null) {
			return new InputStreamReader(this.resource.getInputStream(), this.charset);
		}
		else if (this.encoding != null) {
			return new InputStreamReader(this.resource.getInputStream(), this.encoding);
		}
		else {
			return new InputStreamReader(this.resource.getInputStream());
		}
	}
}
posted @ 2022-06-28 20:56  鸭梨的药丸哥  阅读(21)  评论(0)    收藏  举报  来源