判断一个文件是否是符号链接
2014-01-10 16:08
393 查看
public static boolean isSymlink(File file) throws IOException { if (file == null) { throw new NullPointerException("File must not be null"); } File canon; if (file.getParent() == null) { canon = file; } else { File canonDir = file.getParentFile().getCanonicalFile(); canon = new File(canonDir, file.getName()); } return !canon.getCanonicalFile().equals(canon.getAbsoluteFile()); }
2. 获得文件总大小
public static long getTotalSizeOf(final String storagePath) { if (TextUtils.isEmpty(storagePath)) { return 0; } // 尝试多加判断,如果无效的参数 StatFs 会报错 File file = new File(storagePath); boolean isSymLink = false; try { isSymLink = FileUtil.isSymlink(file); } catch (IOException e) { e.printStackTrace(); } if (!file.exists() || !file.isDirectory() || isSymLink) { return 0; } StatFs stat = new StatFs(storagePath); long blockSize = stat.getBlockSize(); long blockCount = stat.getBlockCount(); return blockCount * blockSize; }
3. 可以获得的大小
public static long getAvailableSizeOf(final String storagePath) {
if (TextUtils.isEmpty(storagePath)) {
return 0;
}
// 尝试多加判断,如果无效的参数 StatFs 会报错
File file = new File(storagePath);
boolean isSymLink = false;
try {
isSymLink = FileUtil.isSymlink(file);
} catch (IOException e) {
e.printStackTrace();
}
if (!file.exists() || !file.isDirectory() || isSymLink) {
return 0;
}
StatFs stat = new StatFs(storagePath);
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return availableBlocks * blockSize;
}
相关文章推荐
- java File 判断文件是否为符号链接
- [Perl][文件操作]判断文件是否为符号链接(Unicode路径)
- java File 判断文件是否为符号链接
- Java判断一个文件是否是链接文件
- java如何判断一个linux下的文件是否为链接文件。
- java File 判断文件是否为符号链接
- c#判断一个文件是否是图形文件
- 判断一个单链表是否有环及环的链接点(转)
- C# 判断一个文件是否正在被使用。
- 判断一个单链表是否有环及环的链接点
- 判断一个页面是否加载了某个js文件
- 用PL/SQL判断一个FTP服务器上的文件是否存在
- Python: 判断一个路径是否存在,判断一个路径是文件还是目录,创建路径,创建文件, 删除路径,删除文件
- makefile中如何判断一个文件是否存在
- 判断一个单链表是否有环及环的链接点
- php-判断一个文件是否存在,便于删除等操作
- c#判断一个文件是否是图片文件
- c# 判断一个文件是否正在被使用
- 判断一个单链表是否有环及环的链接点
- 判断一个单链表是否有环及环的链接点