Tôi có ví dụ .pdf
tệp (đường dẫn đến tệp đó). Làm thế nào để mở tập tin này trong ứng dụng mặc định (có thể là Acrobat Reader) từ ứng dụng SWT (ví dụ trên nút bấm)?Cách mở tệp bằng ứng dụng mặc định trong SWT?
Trả lời
Bạn sẽ có thể sử dụng:
Program.launch(file);
để mở tập tin (sử dụng ứng dụng mặc định hoặc tạo). Từ javadoc:
Khởi chạy hệ điều hành có thể thực thi được liên kết với tệp hoặc URL (http: // hoặc https: //). Nếu tệp là tệp thực thi thì tệp thực thi được khởi chạy. Lưu ý rằng
Display
phải tồn tại để đảm bảo rằng phương thức này trả về kết quả phù hợp.
Lưu ý rằng có một số điểm khác biệt trong Program.launch()
(hoặc ít nhất có, mặc dù chúng có thể đã được sửa trong các phiên bản gần đây của thời gian chạy.) Tôi không thực sự nhớ chi tiết về lỗi, nhưng chúng tôi thực hiện một số kiểm tra để giải quyết một số vấn đề:
Nếu bạn đang ở trên nền tảng Unix và bạn đang xác định đường dẫn tuyệt đối, có thể gặp sự cố khi mở tệp đó. Chúng tôi tiền tố đường dẫn tuyệt đối với
/.
- để/tmp/foo
sẽ được dịch sang/./tmp/foo
- mặc dù tôi không thực sự nhớ chi tiết về lỗi này nữa.Trên Windows, nếu bạn đang cố mở đường dẫn UNC - ví dụ:
\\server\bar
- bạn cần phải quấn chuỗi trong dấu ngoặc kép. Ví dụ:Program.open("\"\\server\bar\"");
Hãy thử Desktop.open:
Desktop.getDesktop().open(file);
Cá nhân, tôi muốn có giải pháp SWT hơn giải pháp AWT. Cầu nối SWT <-> AWT thường không cần thiết và tốt hơn là không sử dụng nó trừ khi bạn phải sử dụng. –
@PranitBauva Tại sao? – Baz
Có lẽ điều này có thể giúp tìm ra một quyết định: chúng tôi chạy vào PermGen rắc rối không gian khi gọi Desktop.open()
- mà là ở AWTpackage - ra khỏi ứng dụng SWT của chúng tôi.
Vì vậy, tôi muốn Program.launch()
hơn Desktop.open()
trong môi trường SWT.
- 1. Mở tệp bằng ứng dụng Windows mặc định từ bên trong các emacs
- 2. Android: Mở tệp đã lưu trong ứng dụng mặc định từ ứng dụng của tôi
- 3. Làm cách nào để mở rộng khoảng thời gian chờ mặc định trong ứng dụng flash?
- 4. Làm cách nào để mở tệp bằng trình xử lý mặc định của trình bao?
- 5. Có khả năng đặt ứng dụng Java làm trình mở tệp mặc định không?
- 6. Cách đặt ứng dụng mặc định cho các loại tệp cụ thể trong Mac OS X?
- 7. Bản tóm tắt: Cách mở tệp bằng chương trình mặc định?
- 8. Mở tệp trong ứng dụng Django
- 9. Mở trang html trong trình duyệt mặc định bằng VBA?
- 10. Đặt phông chữ mặc định cho SWT Shell
- 11. Làm thế nào để mở tập tin với ứng dụng mặc định trong cmd?
- 12. Mở tệp trong ứng dụng khác
- 13. Làm cách nào để mở một URL bằng trình duyệt mặc định với các ứng dụng đa nền tảng FireMonkey?
- 14. "Mở bằng ..." một tệp trên Windows, với ứng dụng trăn
- 15. Mở một tệp bằng ứng dụng bên ngoài trên Java
- 16. Java 7 phá vỡ ứng dụng SWT trên OS X bằng cách sử dụng Web Start
- 17. Tải tiện ích mở rộng tệp mặc định/ưa thích
- 18. Cách mở tệp bằng cách mở bằng câu lệnh
- 19. Không thể mở index.php theo mặc định bằng nginx
- 20. Đăng ký làm ứng dụng mặc định cho loại tệp tùy chỉnh
- 21. cách đặt quyền tệp mặc định trong Aptana Studio 3?
- 22. Đặt .jar làm ứng dụng mặc định? (Mac OSX)
- 23. Đặt ứng dụng mặc định cho phần mở rộng tệp đã cho trên Mac OS X từ mã
- 24. Mở một file html bằng trình duyệt web mặc định
- 25. Mở trình soạn thảo văn bản mặc định trong bash?
- 26. Tìm ứng dụng email mặc định
- 27. Cách gửi nội dung html bằng hình ảnh qua ứng dụng email mặc định của android?
- 28. C# tập tin mở với ứng dụng mặc định và thông số
- 29. Làm cách nào để mở nhiều tệp bằng cách sử dụng "có mở" bằng Python?
- 30. Cách mở album trong ứng dụng Thư viện bằng cách sử dụng mục đích
Trong ứng dụng của tôi trên winXp và win7 một 'Program.launch (" C: \\ dev \\ test.pdf ");' gọi công việc tốt - Acrobat Reader được mở ra và đó là nó. Cảm ơn bạn. – marioosh
@ edward-thomson trong đó gói là "Chương trình" lớp tìm thấy ?? –