2014-10-13 4 views
3

Am, используя следующий фрагмент кода, чтобы открыть файл,Открыть файл с помощью рабочего стола (java.awt)

if (Desktop.isDesktopSupported()) { 
try { 
    Desktop desktop = Desktop.getDesktop(); 
    File myFile = new File(fileName); 
    desktop.open(myFile); 
    } catch (IOException ex) {} 
} 

если файл я пытаюсь открыть это нормальный .txt или .pdf любых таких типов файлов Я могу открыть файл.

Но в некоторых случаях,

enter image description here

Как показано выше Тип файла является файла, в этом случае файл не открывается.

если я вручную открываю это Тип файла файл я открываю окно и используя текстовый редактор, я могу его открыть.

Как я должен обращаться с этим в java? Пожалуйста, помогите ..

+2

Вы подавили исключение. Он должен иметь некоторую информацию там. – Jayan

+1

Поскольку я знаю, что tis-файл можно просмотреть с помощью блокнота, я попробовал «ProcessBuilder pb = new ProcessBuilder (« Notepad.exe », FileName); pb.start() '... и файл, открытый в NotePad. – user3164187

ответ

3

Windows говорит, что тип файла является «файлом», когда нет расширения. Вот почему нет открывателя по умолчанию, поэтому Java не открывает файл должным образом.

Вы можете либо переименовать файл, либо предоставить ему расширение, либо использовать Java для непосредственного выполнения программы, с которой вы хотите открыть файл.

1

#open метод находит приложение в указано по умолчанию, чтобы открыть указанный файл, но в .file типа не существует приложение по умолчанию не открывать file.You можно только вручную указать, чтобы открыть его в определенном app.So, если вы устанавливаете приложение по умолчанию, которое должно открыть .file, и вы должны установить приложение по умолчанию и choose default program, чтобы открыть файл и запустить программу.

Смежные вопросы