2011-03-31 3 views
3

하드 드라이브를 마운트 및 마운트 해제하려면 어떻게해야합니까? (플랫폼 독립적이므로 런타임을 사용하여 하드 코드 된 명령을 실행하지 마십시오) Java 프로그래밍 언어에서 어떻게합니까?하드 드라이브 마운트 및 마운트 해제

답변

6

대답은 "예 및 아니오"입니다. 각 OS에는이 작업을 수행 할 자체 메서드가 있으므로 Java에서 장치를 마운트하거나 마운트 해제 할 수 없습니다. 하지만 네이티브 인터페이스에 어댑터 패턴을 사용하는 자바 API를 제공 할 수 있습니다. 당신은 몇 가지를 수행해야합니다

  • 이 C 또는 다른 언어로 명령의 기본 구현을 만드는 기본 방법으로 인터페이스를 구현하는 클래스를 생성/마운트 해제 명령을 장착 지원 자바 인터페이스를 만들 수 있습니다. 인터페이스의 구현을 제공하고 네이티브 라이브러리

를로드 OS에 대한 하나의 implemantation (승리, 맥, 리눅스)

  • 팩이
  • 빌드 작은 공장 단지 하나 그것은 순수 자바 아니라, 좋은 솔루션입니다 나는 생각한다. 클라이언트 코드는 java를 사용합니다.

  • 1

    이 방법을 이식 가능하게 (또는 동일한 의미를 사용하여) 수행 할 방법이 없으므로 그렇게하는 기본 제공 Java 메소드가 없습니다.

    0

    생각해보십시오. Java는 하드 드라이브가없는 플랫폼에서 작동해야하기 때문에 플랫폼 독립적 인 방법으로 어떻게 할 수 있습니까?
    게다가 하드 디스크를 사용할 수있는 플랫폼으로 제한하더라도 Java가 RAID/파티션/슬라이스에 대한 다른 접근 방식을 추상화하는 방법은 무엇입니까?

    왜이 작업을 원하십니까?

    +0

    Java는 하드 드라이브가없는 플랫폼에서 작동해야합니까? –

    +0

    내 하드 드라이브 암호화 프로그램 (일종의 TrueCrypt와 같은)을 만들기 때문에이 작업을 수행하고 싶습니다. –

    +2

    Java에는 AWT 및 Swing ("헤드리스"서버 시스템에 대해 생각)과 같이 지원되는 모든 플랫폼에서 구현할 수없는 많은 기능이 있습니다. 모든 타겟 플랫폼이 일부 API 그룹을 구현할 수 없기 때문에 Java가 제공 할 수 없다는 것을 의미하지는 않습니다 ... – maerics

    1

    "플랫폼 독립적"은 외부 프로세스를 사용할 수 없다는 것을 의미하지 않습니다. 앱이 실행되는 OS를 확인할 수 있습니다. System.getProperty("os.name");을 참조하십시오. 해당 메소드의 결과에 따라 올바른 프로세스를 호출하십시오.

    +0

    나는 알고있다. 그러나 JDK에는 나를 위해 그것을 할 수있는 기능이 있다는 것을 희망하면서 말하고 있었다. –

    관련 문제