2012-03-26 54 views
5

Tôi cần phải lặp lại một thư mục trên máy cục bộ từ máy chủ để phân tích cú pháp một số tệp. Nó có thật không? Nếu nó là sự thật, xin vui lòng, tư vấn cho tôi làm thế nào để làm điều đó.Cách truy cập hệ thống tập tin bằng java?

Trả lời

0

Nếu bạn có thể kết nối qua SSH, FTP hoặc FTPS, điều này có thể được thực hiện khá dễ dàng. Nếu bạn đang nói về HTTP, máy chủ phải được đặt để hiển thị thư mục = true và bạn sẽ phải phân tích cú pháp phản hồi http cho thư mục để lấy tên tệp.

0

Cố gắng triển khai client server application nơi phần máy chủ được cài đặt trên máy khách của bạn và bảo mật phần clietn (sẽ chạy trên Máy chủ PC) với thông tin cần thiết. Ngoài ra, bạn có thể sử dụng FTP Server trên máy khách và truy cập nó từ máy chủ khi cần thiết.

7

Tôi thích Commons VFS. Nó có thể xử lý các hệ thống tệp cục bộ, SFTP và nhiều hệ thống tệp khác. Tất cả với cùng một mã - bạn chỉ cần thay đổi đường dẫn đến tệp.

FileSystemManager fsManager = VFS.getManager(); 
FileObject directory = fsManager.resolveFile("path/to/dir"); 
FileObject[] files = directory.findFiles(fileSelector); 

for (FileObject file : files) { 
    // do something 
} 
+0

Tôi gặp lỗi khi cố gắng thực hiện điều đó từ máy chủ từ xa (OS: Solaris): "org.apache.commons.vfs2.FileSystemException: URI được tạo thành sai" C:/My/Files ". \t tại org.apache. commons.vfs2.provider.url.UrlFileProvider.findFile (UrlFileProvider.java:91) ". Hệ điều hành máy cục bộ là Windows. – DmitryB

+0

@DmitryB Bạn có thể chỉ cho tôi mã của bạn không? Điều này có thể xảy ra khi bạn đóng FileSystemManager ... – user219882

+0

@DmitryB Chỉ để làm rõ. Bạn đang cố gắng truy cập từ xa một hệ thống tập tin (truy cập Solaris từ Windows)? Nếu bạn làm thế, hơn tôi nghĩ bạn không thể sử dụng đường dẫn 'C: \ ...' nhưng bạn phải sử dụng giao thức 'SFTP' hoặc' HTTP'. – user219882

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