我定义了一个线程,然后想要在线程跑起来时打开物理磁盘然后取得物理磁盘的路径和磁盘卷标,请问怎么能实现呢??

问题描述

我定义了一个线程,然后想要在线程跑起来时打开物理磁盘然后取得物理磁盘的路径和磁盘卷标,请问怎么能实现呢??我做出来最后得到的都是当前workspace的路径和卷标。请问各位大侠该如何实现啊???我的代码如下:public class Call4Help implements Runnable{public static void main(String[] args){Runnable r = new Call4Help();Thread t = new Thread(r);t.start();}@Overridepublic void run() {while(true){System.out.println("当前路径"+System.getProperty("user.dir"));File directory = new File(System.getProperty("user.dir")); try {String url = directory.getCanonicalPath();String strURL = url.toString(); strURL = strURL.substring(0,3);System.out.println("当前路径的系统卷标"+strURL); //打印当前路径的系统卷标} catch (IOException e) {e.printStackTrace();} }}} 问题补充:justacc 写道

解决方案

这就不知道了,你找懂windows函数的人问问,看有没有现成的方法可以调呢
解决方案二:
我也不知道,如果要说思路的话,我就这样for(char c='A';c<='Z';c++){ File file = new File(c+""); if(file.exists()){ //存在,做自己的事情 }}
解决方案三:
user.dir就是用户的当前工作目录 ,那你得到的就是workspace的路径了呀

时间: 2024-10-30 08:05:54

我定义了一个线程,然后想要在线程跑起来时打开物理磁盘然后取得物理磁盘的路径和磁盘卷标,请问怎么能实现呢??的相关文章

设计模式 java语言-如何把自己定义的一个语言转换到java语言。想请问有人知道用什么设计模式比较好不?

问题描述 如何把自己定义的一个语言转换到java语言.想请问有人知道用什么设计模式比较好不? 如何把自己定义的一个语言转换到java语言.想请问有人知道用什么设计模式比较好不?

在java中定义了一个二维数组,这样做好像不对,输出时报错, 代码如下

问题描述 在java中定义了一个二维数组,这样做好像不对,输出时报错, 代码如下 我是想要定义一个二维数组,然后动态地给它赋值,应该怎么做不知道问题出在做么地方,请大神指导一下 ,代码如下: int[][] a = null; a[1] = new int[]{1,2,3}; System.out.println(a[1][1]); 解决方案 int[][] a = null; a = new int[5][];//第一维需要初始化 a[1] = new int[]{1,2,3};//这是第二维

spring mvc 如何在Controller类的每个方法执行前 调用我定义的一个方法

问题描述 在用spring mvc做一个项目 我想在@Controller类的每个方法@RequestMapping前都调用我定义的一个方法 该怎么弄? 我现在是这么弄的 手动在方法的第一行调用我定义的那方法 这样 太麻烦 有没有更好的方法呢 一下是我的代码@Controllerpublic class ModuleAction extends BaseAction {@Autowiredprivate ModuleMgr manager;@RequestMapping("/systemMgr/

vs2010,实验数据保存成自己定义的一个格式*tk,如何调用

问题描述 vs2010,实验数据保存成自己定义的一个格式*tk,如何调用 vs2010,实验数据保存成自己定义的一个格式*tk,如何调用

Windows系统中一个进程可以允许最大的线程数

默认情况下,一个线程的栈要预留1M的内存空间 而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程 但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小. 你也可以通过连接时修改默认栈大小,将其改的比较小,这样就可以多开一些线程. 如将默认栈的大小改成512K,这样理论上最多就可以开4096个线程. 即使物理内存再大,一个进程中可以起的线程总要受到2GB这个内存空间的限制. 比方说你的机器装了64GB物理内存,但每个进程的内存空间还是4GB,其中用户态可用

linux环境下一个进程最多能有多少个线程

以下是对在linux环境下一个进程最多能有多少个线程进行了介绍,需要的朋友可以过来参考下 默认情况下: 主线程+辅助线程 +<253个自己的线程<=255 含主线程和一个辅助线程,最多255个,即你自己只能生成253个线程. 据说可以设置线程数目: 据说是可以设置的,但本人还没有验证!不知道可否. 在你的shell中键入limit命令,里面有descriptor的数目,就是你的进程可以创建的最大线程数目.可以通过修改内核文件更改该数目.

在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容。发声的。可以听见的 谢谢。急急急急!!!!!!!!!!!!

问题描述 在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容.发声的.可以听见的谢谢.急急急急!!!!!!!!!!!!

mfc循环创建的多线程A去调用了另外一个线程B,其中A线程出问题要退出。

问题描述 mfc循环创建的多线程A去调用了另外一个线程B,其中A线程出问题要退出. mfc循环创建的多线程A去调用了另外一个线程B,其中A的一个线程出问题要退出.B线程怎么也终止了 怎么办?用的是下面这个. // 资源释放结束,可退出线程并析构类 pMg->m_ExitThread.SetEvent();

c语言,为什么我定义了一个全局变量,总是会自动变为零?

问题描述 c语言,为什么我定义了一个全局变量,总是会自动变为零? #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> #include<conio.h> int score=0,move=0,a[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},temp[5],highest_score=0; void print(void