2012-01-01 55 views
5

Trong Netbeans, cách chính xác để lấy đường dẫn tệp của Dự án hiện đang mở. Trong mô-đun tôi đang phát triển, tôi cần phải có được đường dẫn của dự án cho một FileChooser tuy nhiên hầu hết những gì tôi đã thử chỉ đơn giản là trả về đường dẫn của mô-đun mà nó đang thực thi. Là cách của họ để có được con đường của dự án mà phương pháp được chạy từ?Đường dẫn tệp dự án hiện tại của Netbeans

+0

Nếu nó giúp phương pháp mở File Explorer là từ một subnode của DataNode của một File Type tạo ra cho dự án. – kdgwill

+0

Trong netbeans, có lẽ đường dẫn sẽ là C: \ Users \ your_username \ Documents \ NetBeansProjects: D – COD3BOY

+0

Loại dự án này là gì? Trong hầu hết các trường hợp, bạn sẽ không cung cấp trình chọn tệp cho người dùng để chọn 'tài nguyên ứng dụng'. BTW - 'FileExplorer' là gì? –

Trả lời

0

Tôi cũng đã tìm ra được một chút mặc dù tôi không chính xác như bản sửa lỗi. Vì tệp nằm trong thư mục của dự án thực thi của nó và DataObject của nó là trong tra cứu của DataNode được sử dụng để tạo cấu trúc cây mà tôi vừa sử dụng: ((DataNode) getParentNode(). GetParentNode(). GetParentNode(). getParentNode()) getDataObject(). getPrimaryFile();

Tôi không đặc biệt thích phương pháp này nhưng có vẻ như hoạt động tốt ngay bây giờ.

0

Nhấp chuột phải vào dự án. Nhấp vào thuộc tính. Tab nguồn. Đường dẫn "Project Folder" nằm ở trên cùng.

+0

Đây là một đường dẫn mã hoá cứng nó sẽ không hoạt động cho Dự án đang mở mà lệnh đang được thực hiện từ nếu nó là một dự án hoàn toàn khác với bản gốc hoặc nếu trên một máy tính khác – kdgwill

+0

Hmmm. Trong trường hợp đó có thể bạn có thể sử dụng Class.getResource() –

+0

Gọi điều này từ một mô-đun cho tài nguyên nằm trong một thư mục khác với chính mô-đun đó có thể không hoạt động hoặc – kdgwill

2

Cố gắng để có được một trường hợp dự án thông qua tra cứu và sau đó

 private String getProjectDirectory(final Project project) { 
      try { 
       FileObject projectDirectory = project.getProjectDirectory(); 
       return FileUtil.toFile(projectDirectory).getAbsolutePath(); 
      } catch (Exception e) { 
       //ignore the exception 
       return null; 
      } 
     } 
+0

Dự án có nghĩa là lớp, mà jar cung cấp cho chúng tôi Project class –

+0

http : //bits.netbeans.org/dev/javadoc/org-netbeans-modules-projectapi/org/netbeans/api/project/Project.html – Ben

Các vấn đề liên quan