Meaningless Drivel is fun!*
The moose likes Linux / UNIX and the fly likes Finding disk drives programmatically Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "Finding disk drives programmatically" Watch "Finding disk drives programmatically" New topic
Author

Finding disk drives programmatically

Beth Hechanova
Greenhorn

Joined: Sep 21, 2007
Posts: 2
Hi,

I am programming in Java 1.6, running on a Fedora 7 Linux system. I need to be able to find the disk drives in the system programmatically. Is there a straightforward way to do this in Java? (Sorry, I'm not sure if this belongs in a Java forum or Linux forum).

Via the Linux command line, I've found that I can run the command "cat /proc/scsi/sg/device_strs", which gives me a list of not only my disk drives, but also my dvd-rom. I can parse that output, looking for the string "ATA" to find the disk drive, that position in the list will relate to the number in the /dev/sg? list (zero-based) - for example I have three entries listed as ATA, ATA, and non-ATA, which relate to /dev/sg0, /dev/sg1, and /dev/sg2 respectively. I know that the /dev/sg0 and /dev/sg1 devices are my disk drives since they are listed as ATA.

That approach is certainly doable by running system commands with Java and parsing the results. Before I go down that path, I want to be sure there isn't an easier way to accomplish the same thing. Or if there is no support with Java itself, perhaps there is a better way using Linux commands to get the same information.

Thanks,
Beth
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
Beth -

Originally posted by Beth Hechanova:
..... I can parse that output, looking for .....


I would not do it like that. Everything on a Unix system is a file. So:



And read it like a normal file (which it is).

Guy
Beth Hechanova
Greenhorn

Joined: Sep 21, 2007
Posts: 2
Didn't know that - thanks... that looks much easier.

Beth
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
Beth - I am really guessing at what you actually need to accomplish.

What is wrong with reading '/etc/mtab' for the information you need? (What happens if a device has multiple partitions?).

Guy
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Finding disk drives programmatically
 
Similar Threads
Install Red Hat 7.3 with windows already installed?
Compiler cannot see jar file?
Learn Unix on Windows - CBT
Formatting drive with java.
Increasing Disk Partition Size on Linux