可变字符串说明 文件路径说明 字符流说明 NIO ImageIO commons-io使用介绍

2020-08-17 23:18:00
admin
原创 1656
摘要:可变字符串说明 文件路径说明 字符流说明 NIO ImageIO commons-io使用介绍

一、可变字符串说明

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(),获取临时目录;

发表评论
评论通过审核之后才会显示。