文档章节

U盘发现器

凯哥学堂
 凯哥学堂
发布于 2017/07/15 21:41
字数 313
阅读 5
收藏 0

U盘发现器

package com.lx.io;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;

public class USBreadFile {
/**
     * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com 

    * @author 小沫
    */
	public static void USB() {

		File[] files = File.listRoots();//列出当前所有盘符
		//准备好集合,把所有盘符数据添加进去
		ArrayList<File> f1 = new ArrayList<>();
		ArrayList<File> f2 = new ArrayList<>();

		long sum;// 盘符总大小
		long surplus;// 盘符剩余大小
		long use;// 盘符已使用大小

		while (true) {
			File[] newfiles = File.listRoots();//获得到新盘符
			if (newfiles.length > files.length) {//如果新的盘符大于原来盘符
				//用Arrays工具把数组转换成集合在添加进集合
				f1.addAll(Arrays.asList(files));
				f2.addAll(Arrays.asList(newfiles));
				f2.removeAll(f1);//在f2和f1里面找到相同的数据进行删除掉
				for (File file : f2) {
					try {
						char[] c = file.getPath().toCharArray();//把路径拆分成字符
						System.out.print("插入:" + c[0] + " 盘");
						sum = file.getTotalSpace() / 1024 / 1024 / 1024;
						surplus = file.getUsableSpace() / 1024 / 1024 / 1024;
						use = sum - surplus;
						//列出每个盘符的信息
						System.out.println(c[0] + "盘总大小:" + sum + "G" +
						" 剩余:" + surplus + "G" + " 已用:" + use + "G");
						//用Runtime方法打开插入进去的U盘
						Runtime.getRuntime().exec("cmd /c start " + file.getPath());
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				files = newfiles;//更新盘符
			} else if (newfiles.length < files.length) {//如果新的盘符小于了原来的盘符
				//说明U盘已经拔出
				System.out.println("U盘已拔出");
				files = newfiles;
			}
		}
	}

	public static void main(String[] args) {

		USB();
	}

}

© 著作权归作者所有

共有 人打赏支持
凯哥学堂
粉丝 16
博文 313
码字总数 278634
作品 0
东城
程序员
BUYIOS-mac-style更新版

上次因为只出了一个普通版本的,后来很多网友反应更喜欢增强版一些,所以此次系统是针对上次的的MAC-style版出的更新版,但我觉得并不单单只是一个更新版,而且也是一个强化版,个人都觉得这...

舒乐
2011/04/18
0
0
如何制作一个u盘启动工具

1、先插入一个自己的u盘,将u盘里的自己重要的东西备份一下,然后清空u盘。2、打开浏览器,进入百度,搜索“老毛桃u盘启动工具”或“大白菜u盘启动工具”,打开具有官方认证的网址,注意形近...

鈕蓁毓
2017/12/30
0
0
UNR有没有用的,发个安装文档

UNR(Ubuntu Netbook Remix)是我09年的学习课题之一,它是Ubuntu针对Netbook市场定制的发行版本,下面这张图是UNR的典型界面。这次我翻译了一下UNR镜像的安装方法,原文链接为:https://wiki....

老枪
2009/06/01
557
0
修改dell poweredge 1950 win server 2003 的密码

公司的一台dell poweredge 1950服务器,经理说密码忘记了,因为当初我信誓旦旦地说改这个密码很简单,于是交给我了,一接手才知道没那么简单,机架式,相当薄,但很重,没看到光驱,电 源键,重启键.开...

wzk
2013/01/27
0
0
Linux Deepin 系统更新汇总

Linux Deepin系统组近期进行了系统更新推送,下面是本次系统更新解决的部分问题,仅供参考: 深度系统设置 #2181:修复“默认程序-开机启动”中开机启动项更新不及时的问题 #2215: 修复键盘模...

火耳
2013/09/05
4.4K
22

没有更多内容

加载失败,请刷新页面

加载更多

Oracle return exit continue

常在循环体中看到下面3种语句: return exit continue 举例说明 啥都没有 -- none begin for i in 1 .. 10 loop if i < 5 then dbms_output.put_line('i < 5, i = ' || to_char......

taadis
今天
2
0
JSONObject 转换时出错 InvocationTargetException

JSONObject 转换时出错java.lang.reflect.InvocationTargetException 一时看不出来是什么问题。 挺奇怪的。 百度参考了一下这个 网页的解决方案 说是类型不对,空? 仔细查看代码,果然是有一...

之渊
今天
3
0
no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
今天
3
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
4
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部