refactoring

- add `FileUtil.withTmpDir`
- use `FileUtil.using`