Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Java中的驱动器名_Java_File Browser - Fatal编程技术网

获取Java中的驱动器名

获取Java中的驱动器名,java,file-browser,Java,File Browser,我正在制作一个基本的文件浏览器,在一种模式下,它循环浏览文件根并列出它们。我有它得到的图标,驱动器号,最后修改日期,驱动器名,和字节大小。除了驱动器名,这些都可以工作。有人知道怎么得到这个吗?以下是我的代码的基本版本: public static final byte ICON_INDEX = 0, NAME_INDEX = 1, MOD_INDEX = 2, TYPE_INDEX = 3, SIZE_INDEX = 4; public String headers[] = new String

我正在制作一个基本的文件浏览器,在一种模式下,它循环浏览文件根并列出它们。我有它得到的图标,驱动器号,最后修改日期,驱动器名,和字节大小。除了驱动器名,这些都可以工作。有人知道怎么得到这个吗?以下是我的代码的基本版本:

public static final byte ICON_INDEX = 0, NAME_INDEX = 1, MOD_INDEX = 2, TYPE_INDEX = 3, SIZE_INDEX = 4;
public String headers[] = new String[5];

private void updateFileView()
{
  java.io.File[] roots = java.io.File.listRoots();
  Object[][] files = new Object[roots.length][headers.length];
  for (int i = 0; i < files.length; i++)
  {
    files[i][ICON_INDEX] = javax.swing.filechooser.FileSystemView.getFileSystemView().getSystemIcon(roots[i]);
    files[i][NAME_INDEX] = roots[i];
    files[i][MOD_INDEX] = new java.util.Date(roots[i]).toString();
    files[i][TYPE_INDEX] = ???;
    files[i][SIZE_INDEX] = roots[i].length();
  }
  headers[ICON_INDEX] = "Icon";
  headers[NAME_INDEX] = "Drive Letter";
  headers[MOD_INDEX] = "Last Date Modified";
  headers[TYPE_INDEX] = "Drive Name";
  headers[SIZE_INDEX] = "Size in Bytes";
  displayTable.setModel(new javax.swing.table.DefaultTableModel(files, headers)
  {
    private static final long serialVersionUID = 1L;
    Class[] types = new Class[]
    {
      javax.swing.Icon.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Long.class
    };

    @Override
    public Class getColumnClass(int columnIndex)
    {
      return types[columnIndex];
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex)
    {
      return false;
    }
  });
}
公共静态最终字节图标索引=0,名称索引=1,模式索引=2,类型索引=3,大小索引=4;
公共字符串头[]=新字符串[5];
私有void updateFileView()
{
java.io.File[]根=java.io.File.listRoots();
Object[][]files=新对象[root.length][headers.length];
对于(int i=0;i
你试过了吗

FileSystemView.getFileSystemView().getSystemDisplayName(...)

呵呵。。。看来我得使用
javax.swing.filechooser
包了我所需要的一切。。。讽刺的是,不是吗?是的,在发帖之前你应该先看看那里。这是你关于这个话题的第六个问题,你一直被提到同一个地方。先做一些基本的问题解决并学习阅读API!