2012-05-02 36 views
10

Tôi có vấn đề kỳ lạ này, khi tôi sử dụngĐọc một tập tin trên một đường dẫn mạng

File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG"); 

để đọc một tập tin qua mạng, tất cả tôi nhận được là một con trỏ ngoại lệ null. Thông thường một con đường cục bộ làm việc với điều này, nhưng khi trên một con đường mạng, tôi chỉ không thể quản lý để làm cho nó hoạt động. Bất kỳ ý tưởng?

PS: oh và kết nối mạng của tôi dường như để làm việc, không có vấn đề khi truy cập vào dữ liệu trong windows explorer ...

More của mã:

File FileToRead = new File("file://DOKSERVICE/Somefolder/ProductImage/01001.JPG"); 
//File FileToRead = new File("c:\\dog.jpg"); local test 
BufferedImage image = ImageIO.read(FileToRead); 
BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB); 
Graphics2D g = resizedimage.createGraphics(); 
g.drawImage(image, 0, 0, 260, 260, null); 
g.dispose(); 
picture.setIcon(new ImageIcon(image)); 
+0

Tôi đoán đó là điều cần làm với trường hợp này. Là con đường đầy đủ của bạn chính xác theo cách đó, trong tất cả các mũ? Windows không phân biệt chữ hoa chữ thường. Java không cần. – adarshr

+0

Bạn có thể đăng mã thực sự gây ra lỗi hoặc kết quả trong tham chiếu null không? Dòng bạn liệt kê sẽ không bao giờ là rỗng, trên bất kỳ nền tảng Java nào. – maerics

+0

Bạn có chắc chắn các điểm tham chiếu UNC của mình là * chia sẻ * chứ không phải vào một thư mục, ví dụ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_GAMESER_GOOT_OFTFOLDER FOLDER \\ MYPICTURE.JPG. Nếu phần thứ hai của ví dụ của bạn ở trên thực sự là tên thư mục, không phải là một phần, tham chiếu sẽ không giải quyết được. –

Trả lời

6

Chỉ cần chỉ định đường dẫn tập tin như URI:

File FileToRead = new File(new URI("file://MYSERVER/MYFOLDER/MYFOLDER/MYPICTURE.JPG")); 

EDIT lưu ý rằng chuỗi đó là URI! Nó không thể chứa không gian, do đó bạn phải thay thế chúng bằng "% 20" để làm cho nó hoạt động.

+0

Đã thử và nhận: javax.imageio.IIOException: Không thể đọc tệp đầu vào! :( – Sin5k4

+0

@ Sin5k4 bạn có thể đăng đường dẫn tệp ở đây không? Chính xác bạn sử dụng, nếu có thể. –

+0

đường dẫn là: Chuỗi filepath = "tệp: \\\\\\\\\\\ D D D D D D D D D D D D D D D D D D D D D" .JPG ";? – Sin5k4

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