19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253

Открытие файлов не работает с системными папками

27.02.2016, 17:41. Показов 827. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Ошибка при работе с файловой системой виндовс. Приложение по типу файлового менеджера. Открытие папок работает при двойном клике но для системных директорий (Мой компютер, библиотеки итд) выскакивает нул поинтер ексепшн.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 table.addMouseListener(new MouseAdapter() 
                {  
                    public void mousePressed(MouseEvent me)
                        {
                            JTable table =(JTable) me.getSource();
                            Point p = me.getPoint();
                            int row = table.rowAtPoint(p);
                            if (me.getClickCount() == 2)
                                {
                                    System.out.println(((FileTableModel)table.getModel()).getFile(row));
                                    if (((FileTableModel)table.getModel()).getFile(row).isDirectory())
                                        {   
                                            if (checkDisable.isSelected())
                                                {
                                                    File[] lFiles =((FileTableModel)table.getModel()).getFile(row).listFiles((FileFilter)HiddenFileFilter.HIDDEN);
                                                    setTableData(lFiles);
                                                    gui.repaint(); 
                                                }
                                            else
                                                {
                                                    File[] lFiles =((FileTableModel)table.getModel()).getFile(row).listFiles((FileFilter)HiddenFileFilter.VISIBLE);
                                                    setTableData(lFiles);
                                                    gui.repaint(); 
                                                }
                                        }
                                    else
                                        {
                                            try 
                                                {
                                                    desktop.open(((FileTableModel)table.getModel()).getFile(row));
                                                }
                                            catch(Throwable t) 
                                                {
                                                    showErrorMessage("No app associated with this filetype found","Failed to open file");
                                                }
                                            gui.repaint(); 
                                            
                                        }
                    
                                }                   
                        }
 
  
    
                });
((FileTableModel)table.getModel()).getFi le(row) - путь к файлу в выбранной строке таблицы.
Заранее благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2016, 17:41
Ответы с готовыми решениями:

Не работает открытие файлов перетаскиванием на значок программы в панели задач
Здравствуйте, можно ли это как-то исправить? Хочу выделить несколько файлов и перенести их на значок в панели задач, чтобы все выделенные...

Скопировать папку с файлами и другими папками в 2 места с исключением кое каких файлов
Здравствуйте. В чем проблема? XCOPY "RES" "File Manager RPG Maker MV\bin\Debug\RES" /S /E /C /F /R /I /Y /Exclude:.psd XCOPY...

Открытие неизвестных файлов, например файлов ресурсов игры для распаковки
Хочу научиться писать программы для открытия неизвестных файлов. например, вышла какая-нибудь игра, а в ней ресурсы или конфиги в...

4
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
29.02.2016, 21:49
А что творится в FileTableModel мы должны догадаться?
0
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
02.03.2016, 09:57  [ТС]
Цитата Сообщение от aleksandy Посмотреть сообщение
А что творится в FileTableModel мы должны догадаться?
да проблема не с моделью а с путем к файлу как я думаю. у системных папок он начинается с :: . Что то вроде
::{031E4825-7B94-4DC3-B131-E946B44C8DD5} вместо С://.
Вот код модели если поможет как то
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
class FileTableModel extends AbstractTableModel {
 
    private File[] files;
    private FileSystemView fileSystemView = FileSystemView.getFileSystemView();
    private String[] columns = {
        "Icon",
        "File",
        "Path/name",
        "Size",
        "Last Modified",
        "Read",
        "Write",
        "Execute",
        "Directory",
        "File",
    };
 
    FileTableModel() {
        this(new File[0]);
    }
 
    FileTableModel(File[] files) {
        this.files = files;
    }
 
    @Override
    public Object getValueAt(int row, int column) {
        File file = files[row];
        switch (column) {
            case 0:
                return fileSystemView.getSystemIcon(file);
            case 1:
                return fileSystemView.getSystemDisplayName(file);
            case 2:
                return file.getPath();
            case 3:
                return file.length();
            case 4:
                return file.lastModified();
            case 5:
                return file.canRead();
            case 6:
                return file.canWrite();
            case 7:
                return file.canExecute();
            case 8:
                return file.isDirectory();
            case 9:
                return file.isFile();
            default:
                System.err.println("Logic Error");
        }
        return "";
    }
 
    @Override
    public int getColumnCount() {
        return columns.length;
    }
 
    @Override
    public Class<?> getColumnClass(int column) {
        switch (column) {
            case 0:
                return ImageIcon.class;
            case 3:
                return Long.class;
            case 4:
                return Date.class;
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
                return Boolean.class;
        }
        return String.class;
    }
 
    @Override
    public String getColumnName(int column) {
        return columns[column];
    }
 
    @Override
    public int getRowCount() {
        return files.length;
    }
 
    public File getFile(int row) {
        return files[row];
    }
 
    public void setFiles(File[] files) {
        this.files = files;
        fireTableDataChanged();
    }
}
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
04.03.2016, 06:06
Андрей 94, дай минимальный запускабельный код, демонстрирующий проблему. Чтобы можно было скопировать его в файл и запустить.
0
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
14.03.2016, 00:26  [ТС]
ВОт
Вложения
Тип файла: docx Документ Microsoft Word.docx (20.3 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2016, 00:26
Помогаю со студенческими работами здесь

Вывод списка .txt файлов в папке и последующее открытие файлов
Ребята, подскажите или помогите реализовать программу, которая допустим при помощи OpenFileDialog, при указании пути к папке, выводила на...

Консольное приложение: отображение структуры файлов и папок, перемещение по папкам, открытие файлов
Приложение написанное на языке СИ позволяющее в консольном режиме отображать структуру файлов и папок,перемещаться по папкам и открывать на...

Ассоциация файлов с программой, открытие нескольких файлов
Я ассоциировал файлы с расширением .scr со своей программой(свойства=&gt;изменить). В свойствах приложения стоит галочка &quot;запускать...

Открытие файлов из собственного проводника файлов
Сделал свой проводник файлов на винте, каждый файл или папка это элемент List'а. Каким образом можно открывать или запускать из него...

Проблемы с системными цветами
Приветствуйю. Такой вопрос... Пишу программу с неизменяемым дизайном (т.е. независящем от системных установок цвета). Все сделал,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru