Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > как получить ВСЕ содержимое рабочего стола?


Автор: skhilkov 11.4.2006, 20:35
Кто-нибудь может подсказать как отобразить все содержимое рабочего стола(включая "мой компьютер", "сетевое окружение") и т.п... Пытаюсь отобразить файлы, получаю только реальные папки и файлы, а эти даже exists() не видит..... smile

Автор: LSD 11.4.2006, 20:50
Используй javax.swing.filechooser.FileSystemView. Он это все показывает.

Автор: skhilkov 11.4.2006, 21:16
окей, использую метод етого пакета getFiles - то же самое......, пробовал использовать createFileSystemRoot, и даже это не помогло...... smile

Автор: LSD 11.4.2006, 21:48
Код
import javax.swing.filechooser.FileSystemView;
import java.io.*;

public class Test
{
  public static void main(String[] args)
  {
    FileSystemView fsv = FileSystemView.getFileSystemView();
    for(File root : fsv.getRoots())
      printSubdirs(fsv, root, "");
  }

  public static void printSubdirs(FileSystemView fsv, File dir, String padding)
  {
    if(padding.length() > 2)
    {
      System.out.println(padding + "more...");
    }
    else
    {
      for(File subDir : fsv.getFiles(dir, false))
      {
        System.out.println(padding + subDir);
        printSubdirs(fsv, subDir, padding + "  ");
      }
    }
  }
}

Автор: skhilkov 11.4.2006, 22:14
хмм... что-то и вышеуказанный пример не дал результата

Код

File[] arr=fl.getFiles(f22,false);
   String files="";
   for(int i=0;i<arr.length;i++)
   {
     files+='\n'+arr[i].toString();
    model.addElement(arr[i]);
    
   }

здесь f22 - это c:\Documents and.....\Рабочий стол
Вот таким образом я получаю опять -таки список только нормальных файлов, и опять не вижу не ярлыков, ни "Мой комп"...................... может надо лечь поспать????...)))

Автор: LSD 11.4.2006, 22:26
Ну я не знаю что у тебя выводится, но у меня выводит приблизительно следующее:
Код
Мой компьютер
  C:\Documents and Settings\All Users\Документы
    more...
  A:\
    more...
  C:\
    more...
  D:\
    more...
  E:\
    more...
  F:\
    more...
  G:\
    more...
  H:\
    more...
Сетевое окружение
  Вся сеть
    more...
C:\Documents and Settings\LSD\Мои документы
...................................

Просто надо получать этот File через FileSystemView, иначе он будет рассматриваться как обычный каталог, а не системная папка Windows.

Автор: skhilkov 12.4.2006, 08:50
спасибо, действительно, надо было получать этот File через FileSystemView. Благодарю!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)