public static String subPath(String rootDir, File file) {
		try {
			return subPath(rootDir, file.getCanonicalPath());
		} catch (IOException e) {
			throw new IORuntimeException(e);
		}
	}
@Test
	public void subPathTest() {
		final Path path = Paths.get("/aaa/bbb/ccc/ddd/eee/fff");

		Path subPath = FileUtil.subPath(path, 5, 4);
		assertEquals("eee", subPath.toString());
		subPath = FileUtil.subPath(path, 0, 1);
		assertEquals("aaa", subPath.toString());
		subPath = FileUtil.subPath(path, 1, 0);
		assertEquals("aaa", subPath.toString());

		// 负数
		subPath = FileUtil.subPath(path, -1, 0);
		assertEquals("aaa/bbb/ccc/ddd/eee", subPath.toString().replace('\\', '/'));
		subPath = FileUtil.subPath(path, -1, Integer.MAX_VALUE);
		assertEquals("fff", subPath.toString());
		subPath = FileUtil.subPath(path, -1, path.getNameCount());
		assertEquals("fff", subPath.toString());
		subPath = FileUtil.subPath(path, -2, -3);
		assertEquals("ddd", subPath.toString());
	}