用户插入一张光盘,该光盘目录如下:Data\aa\1.pdf,Data\aa\2.pdf,.....
我怎样写个程序,把光盘下的所有内容拷到tomcat的webapps下我hello工程的Data\aa\下呢?
我不知道光盘的盘符啊!它可能是G:\Data\aa\1.pdf,也可能是H:\Data\aa\1.pdf,这盘符不固定,我的程序该怎么写啊,用户的机器的硬盘分的区的数量是不一样的啊!怎样读光盘的盘符啊!忘高手指点下!

解决方案 »

  1.   

    ykzhujiang(朱朱):
    Windows API是啥意思?能否说具体点啊!小弟不知啊!
      

  2.   

    ykzhujiang(朱朱):
    我是用swing写的程序,类似于安装Oracle,第一张光盘安装完提示用户是否有第二张盘,有的话插入,然后程序就会把第二张光盘下的内容拷到对应的目录下!
      

  3.   

    如果楼主对JAVA不是很熟悉,说一个比较简单而且有效的办法吧你可以分别判断在D:\Data\aa\1.pdf,E:\Data\aa\1.pdf,F:\Data\aa\1.pdf,G:\Data\aa\1.pdf,下是否有这个文件,如果有,就可以确定它是光盘了(虚拟光驱也可以),File.exist()还是很高效的,至于复制文件,网上有现成的递归文件夹的代码,楼主忙的话就直接拿来用吧。
      

  4.   

    to eswn(eswn) :
    你这个到是个办法,不过就有些麻烦,不知道是否有其他的解决方法!大家在想想啊!
      

  5.   

    listRoots()
    listFiles()
    getAbsoluteFile() 然后和你的文件路径比较下,其它就不会了,
      

  6.   

    java可以通过JNI来读取机器的一些硬件情况,像硬盘空间等,但如果是我做,我不会用那种东东,因为纯JAVA的实现最好,在程序里判断一下操作系统,再决定它的搜索路径,是跨平台比较好的解决方式。何乐而不为呢?
      

  7.   

    File [] disks = File.listRoots();
    for ( int i = 0; i < disks.length; i++ )
    {
        if (!disks[i].canWrite())
        {
            System.out.println ("May be is CD-ROM: " + disks[i]);
        }
    }
      

  8.   

    我做的是类似Oracle的那种啊,第一盘我把我的swing工程做的安装程序,第一张光盘安装完后,要提示用户是否有第二张光盘,有的话,用户把第二张光盘放入光驱中,程序光盘下的所有内容拷到tomcat的webapps下我hello工程的Data\aa\下,这时会有个问题,当提示用户是否有第二张光盘,用户点是的时候,用户还没把第二张光盘插里面,但是你的程序已经在找光驱中的文件了,此时是肯定没找到的,然后用户才把第二张光盘放到光驱里,可是这时我的程序已经执行完了!怎么解决这个矛盾呢?我在想当提示用户是否有第二张光盘,用户点确定时,如果还没插入第二张光盘时,确定按钮一直还在,直到用户插入第二张光盘时,点确定这个按钮才消失!不知道大家还有什么好的想法呢?想和大家交流下!
      

  9.   

    java程序读光驱的盘符问题,我在网上都找不到!大家有啥办法啊!急呢!