文档章节

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();
	}

}

© 著作权归作者所有

共有 人打赏支持
上一篇: TCP传输协议使用
下一篇: Java基础
凯哥学堂
粉丝 18
博文 316
码字总数 284948
作品 0
东城
程序员
私信 提问
修改dell poweredge 1950 win server 2003 的密码

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

wzk
2013/01/27
0
0
BUYIOS-mac-style更新版

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

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

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

鈕蓁毓
2017/12/30
0
0
Linux Deepin 系统更新汇总

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

火耳
2013/09/05
4.4K
22
分享一款个人的U盘装系统软件

教您怎么用U盘装系统 U盘装系统方法那么多,制作工具也是多种多样,该怎么选择呢?我们经过长期学习研究,为您准备了一篇用U盘装系统的简单实用教程,您只用花10分钟时间看完,便可以在任何一...

xwbzcn
2012/06/08
300
1

没有更多内容

加载失败,请刷新页面

加载更多

在 Ubuntu 上为 CentOS 编译 Rust 程序

现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的版本了。 现在开发者比较常用的桌面 Linux 系统,比如 Ubuntu / Debian / Mint / A...

helloclia
36分钟前
8
0
Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

前言:从本篇开始,将进入Multimedia框架,包含MediaPlayer, Camera, Surface, MediaRecord, 接下来几篇都是MediaPlayer相关。同样看下Agenda如下: MediaPlayer的状态图 Idle 状态 End 状态...

天王盖地虎626
今天
2
0
IntelliJ IDEA创建第一个Spring boot项目

下载maven:http://maven.apache.org/download.cgi 开发工具:IntelliJ IDEA JDK: Java JDK1.8 ## 1.为了第一个项目初始化速度加快,我们先来配置maven: 添加配置: 选择Build,Execution,Dep...

凌宇之蓝
今天
3
0
Coding and Paper Letter(四十五)

资源整理。 1 Coding: 1.Python库gempy,一种基于Python的开源三维结构地质建模软件,它允许从界面和方向数据隐式(即自动)创建复杂的地质模型。 它还支持随机建模以解决参数和模型的不确定...

胖胖雕
今天
7
0
golang 声明一个指定长度的数组,用于后续添加

很多时候我们需要声明一个指定长度的数组,用于后续添加.在使用go的时候要注意,下面的第一个例子会有报错 "non-constant array bound",应该使用第二个例子. Length 是动态的值 有报错的例子 ...

漫步海边小路
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部