可变字符串说明 文件路径说明 字符流说明 NIO ImageIO commons-io使用介绍
- 2020-08-17 23:18:00
- admin
- 原创 1656
一、可变字符串说明
1、StringBuilder和StringBuffer都是可变字符串;
2、StringBuilder线程不安全;
3、StringBuffer线程安全;
二、文件路径说明
1、输入路径:file.getPath()
2、绝对路径:file.getAbsolutePath()
3、规范路径:file.getCanonicalPath()
4、文件名字:file.getName()
5、前三个表示实际文件,最后一个表示文件名;
6、File参数是空字符串、当前目录、父目录时,getName原样返回;
三、字符流说明
1、InputStream和OutputStream是字节流,字符编码无关;
2、Reader和Writer是字符流,字符编码有关,读取写入会decode或encode;
四、NIO使用介绍
1、Path接口表示文件路径,通过Paths工具类创建,配合File类使用;
2、Files是文件工具类,支持创建文件流、创建临时文件、遍历目录;
创建文件流:
Path tempdir = Files.createTempDirectory("myapp", (FileAttribute<?>[])new FileAttribute[0]);
Path libpath = tempdir.resolve("mylib.so");
OpenOption[] oos = new OpenOption[]{StandardOpenOption.CREATE,
StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING};
OutputStream os = Files.newOutputStream(libpath, oos);
删除目录:
Path tempdir = Files.createTempDirectory("myapp", (FileAttribute<?>[])new FileAttribute[0]);
Files.walk(tempdir, new FileVisitOption[0]).map(Path::toFile).forEach(File::delete);
删除文件:
Path path = Paths.get("sign.png");
Files.deleteIfExists(path);
五、ImageIO使用介绍
1、基础流不允许重新读写数据,更改图片时需要设置useCache,该参数默认是true;
2、小图片读写时,需要设置useCache为false,可以免除创建和销毁文件带来的开销;
六、commons-io使用介绍
1、IOUtils.toString(new FileInputStream("app.conf")),读取整个文件;
2、IOUtils.readLines(new FileInputStream("app.conf")),读取整个文件;
3、FilenameUtils.getExtension("app.conf"),获取文件后缀;
4、FileUtils.getUserDirectoryPath(),获取用户目录;
5、FileUtils.getTempDirectoryPath(),获取临时目录;