Ita*_*tai 5 java javafx inputstream
看看Font#loadFont我的文档,我发现了这句话:
此方法不会关闭输入流.
不幸的是,这没有被解释或扩展.所以我的问题是:
API不会关闭输入流的可能原因是什么?您是否可能想重新使用该流?我大多使用这样的方法:
Font.loadFont(getClass().getResourceAsStream("path/to/font"), 13.0);
Run Code Online (Sandbox Code Playgroud)
为了确保我的应用程序可以使用该字体,所以我从不重复使用输入流,我真的不能想到我想要的原因.
每个涉及稀缺或外部资源(例如文件描述符或流)的 API 的文档将明确说明谁有责任进行清理(在本例中为关闭流)。这有时被称为“所有权”。
在这种情况下,文档指出该loadFont方法不获取流的所有权。因此它仍然属于你:关闭流是你的责任。
try-with-resources 语句是执行此操作的最佳方法。