Is it possible to format a memory stick, pen drive

2019-02-17 11:44发布

问题:

I would like to create a multi-plattform utility to format / erase memory sticks, disks, etc.

Is it possible to do this in Java? Or do I need to call native methods for each operational system plattform?

回答1:

It is very system specific, there is no universal way to perform this. Your options are

  1. Create a JNI library to perform this using system calls
  2. Write a wrapper class around utilities that perform this operation (for example, capture stdout and give inputs to stdin for an external process)
  3. Use OS-specific techniques (as previously mentioned) to zero out devices
  4. Use something like fat32-lib to manipulate specific file system types.


回答2:

Not directly. You will need to invoke a operating system specific program to do the actual work for you.



回答3:

On unix-like systems, you'd be able (only as root, most likely) to read the disk files /dev/{h,s}d* and write whatever byte sequence you want to them, including byte sequences that represent a, say, ext3 file system.

I don't know of any ext3 libraries in Java, though, so you might have to write it yourself. Or a library for the file format you care about.

This is probably not what you want, though, but you can settle for it :-)