Как фильтровать файлы без расширений с помощью файлового диалога в Java

В моем приложении мне нужно выбрать файлы без расширения файла, используя диалоговое окно файла. Есть ли способ добиться этого? Пожалуйста, помогите мне найти решение для этого. Мой текущий код без какого-либо фильтра приведен ниже:

@Override
            public void handleEvent(Event event) {

                FileDialog dialog = new FileDialog(shell, SWT.NONE);
                String filePath = dialog.open();
                if (filePath != null && !filePath.equals("")) {
                    //Do my Operations

                }

            }

person EJoe    schedule 20.12.2013    source источник
comment
Да, есть способ добиться этого.   -  person GGrec    schedule 20.12.2013
comment
Проверьте этот пост   -  person Ceiling Gecko    schedule 20.12.2013
comment
когда отображается диалоговое окно для выбора файла, вам нужно отображать только файл без каких-либо расширений (имеется в виду плоские файлы)? Я обряд?   -  person AJJ    schedule 20.12.2013
comment
Да. Мне нужно отображать файлы без каких-либо расширений с файлами *.txt   -  person EJoe    schedule 20.12.2013
comment
Привет, GGrec, спасибо за повтор. Я прочитал ссылку, которой вы поделились. В ней говорится только о том, как фильтровать файлы с расширениями. Я хочу фильтровать файлы без расширений.   -  person EJoe    schedule 20.12.2013
comment
@EJoe это невозможно. Нельзя фильтровать и показывать только файлы без расширения. Вы можете фильтровать и показывать только файлы с расширением. См. superuser.com/questions/691083/   -  person AJJ    schedule 20.12.2013


Ответы (1)


FileNameExtensionFilter класс не позволит вам фильтровать с пустыми расширениями. Итак, создайте свой собственный FileFilter.

FileFilter filterWithoutExtension = new FileFilter() {

        @Override
        public boolean accept(File f) {
            // This will display only the files without "."
            return !f.getName().contains(".");
        }

        @Override
        public String getDescription() {
            return "Files Without Extension";
        }
};

Затем установите его как свой FileFilter.

myFileChooser.setFileFilter(filterWithoutExtension);
person Nirmal Raghavan    schedule 20.12.2013
comment
Большое спасибо .. Это работает для меня ... - person EJoe; 23.12.2013
comment
Есть ли способ добиться этого с помощью FileDialog. Можно ли создать свой собственный FileFilter и использовать его с fileDialog? - person EJoe; 23.12.2013