2013-05-11 1 views
4

네트워크 드라이브 (MyBook Live)에 파일을 저장해야합니다.java에서 NAS를 사용하는 가장 좋은 방법은 외부 Linux 명령 "mount"를 사용하여 마운트

String cmd = "mount //192.167.0.3/Public/Folder /media/Folder -o user=test,password=test"; 
Runtime run = Runtime.getRuntime() ; 
Process pr = run.exec(cmd); 
pr.waitFor(); 

을 할 수있는 더 나은 방법이 있나요 : 순간 나는이 일을 해요?

+3

이것은 OS에 크게 의존하므로 아마 이것은 Java 솔루션에서 가장 좋습니다. 원격 파일 시스템을위한'fstab' 항목을 고려할 수 있습니다. –

+0

좋은 지적. 그런 다음 마운트가 성공적인지 확인하십시오. 감사! – tzippy

+0

또 다른 장점은 'fstab'에 파일 시스템을 지정하여 마운트 할 루트 권한이 필요 없다는 것입니다.이 방법을 사용하면보다 안전하고 안전한 사용자 권한으로 Java 애플리케이션을 실행할 수 있습니다. –

답변

2

내가 지난 가을에 작업 한 프로젝트에서 마운트 작업을 수행하는 것과 동일한 작업을 수행 했습니까? 직접 (또는 내가 아는 한 더 나은 방법) Java API가 없습니다. 그것은 제대로 작동했습니다.

저는 Bailey S가 fstab 항목을 추천 한 것에 동의합니다. 똑같은 일을했습니다.

Runtime.exec() 및 Process.waitFor() (http://www.javaworld.com/jw-12-2000/jw-1229-traps.html?page=2) 사용의 함정을 읽는 것이 좋습니다. OS 명령을 실행하는 데 Apache Commons Exec (http://commons.apache.org/proper/commons-exec/)을 사용하는 것을 선호합니다.

관련 문제