Files.isHidden ()이 올바르게 작동하지 않는 이유는 무엇입니까?

마스터 마커스

Java NIO를 엉망으로 만들고 어떤 이유로 올바른 부울 값을 반환하기 위해 Files.isHidden ()을 얻을 수 없습니다. 프로그램은 디렉토리가 숨겨져 있는지 확인한 다음 숨겨져 있으면 표시되고 숨겨지지 않으면 숨겨집니다. 이것이 내가 가진 것입니다.

    Path start = FileSystems.getDefault().getPath("E:/Documents/someDirectory");
    try {
        if (Files.isHidden(start)){
            System.out.println("Dir is hidden.");
            Files.setAttribute(start, "dos:hidden", false);
        } else {
            System.out.println("Dir is not hidden. Hiding.");
            Files.setAttribute(start, "dos:hidden", true);
        }

    } catch (IOException e) {
        e.printStackTrace();
    }

디렉터리가 숨겨져 있어도 계속 false를 반환하고 디렉터리를 숨 깁니다. 다음 코드는 Path 클래스가있는 이전 File 클래스를 사용하여 제대로 작동합니다.

    Path start = FileSystems.getDefault().getPath("E:/Documents/someDirectory");
    File file = new File("E:/Documents/someDirectory");
    try {
        if (file.isHidden()){
            System.out.println("Dir is hidden.");
            Files.setAttribute(start, "dos:hidden", false);
        } else {
            System.out.println("Dir is not hidden. Hiding.");
            Files.setAttribute(start, "dos:hidden", true);
        }

    } catch (IOException e) {
        e.printStackTrace();
    }
홀거

의견에서 이미 지적했듯이 Files.isHidden상태 문서는 다음과 같습니다.

숨김의 정확한 정의는 플랫폼 또는 공급자에 따라 다릅니다. […] Windows에서 파일은 디렉토리가 아니고 DOS 숨김 속성이 설정된 경우 숨김으로 간주됩니다.

마지막 인용 된 문장은 Windows에서 디렉토리에 대한 예상 값을 반환하지 않지만 이미 설명하고 있지만 첫 번째 문장을 강조하고 싶습니다. 플랫폼 / 제공자 특정 시맨틱에 부담이되는 메소드를 사용하고 있지만 원하는 것은 특정 플랫폼 특정 플래그를 토글하는 것입니다.

이 경우 코드의 조건도 제거하여 정확히 수행해야합니다.

Path start=Paths.get("E:/Documents/someDirectory");
boolean isHidden=(Boolean)Files.getAttribute(start, "dos:hidden");
System.out.println("Dir is "+(isHidden? "hidden. Showing.": "not hidden. Hiding"));
Files.setAttribute(start, "dos:hidden", !isHidden);

또한 편리한 메소드 참고 Paths.get(…)를 들어 FileSystems.getDefault().getPath(…).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

IF / THEN이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

PEGjs가 / 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

count (*)가 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 Bootstrap 3 열이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

다음 변수 할당이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

web3 utils BN이 수학에서 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

boost :: geometry :: intersection이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

구문 분석 된 Double이 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 코드가 동기화에서 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Sidekiq 4가 메일러에서 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

AngularJS $ scope가 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

greater_equal에서 is_sorted가 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 div가 올바르게 쌓이지 않는 이유는 무엇입니까?

분류에서Dev

++가 올바르게 증가하지 않는 이유는 무엇입니까?

분류에서Dev

threadpooltest가 올바르게 실행되지 않는 이유는 무엇입니까?

분류에서Dev

비동기 작업이 올바르게 실행되지 않는 이유는 무엇입니까?

분류에서Dev

페이지로드시에만 올바르게 작동하는 이유는 무엇입니까?

분류에서Dev

내 form_validation이 작동하지 않는 이유는 무엇입니까? 오류 : 필드 양식이 올바르게 채워지지 않았습니다.

분류에서Dev

MySQL이 내 외래 키의 이름을 올바르게 지정하지 않는 이유는 무엇입니까?

분류에서Dev

javascript-이 캔버스 이미지가 올바르게 회전하지 않는 이유는 무엇입니까?

분류에서Dev

총 장바구니 가격이 올바르게 계산되지 않는 이유는 무엇입니까?

분류에서Dev

Gulp 빌드 작업이 올바르게 설정되지 않는 이유는 무엇입니까?

분류에서Dev

사이드 바가 올바르게 정렬되지 않는 이유는 무엇입니까?

분류에서Dev

printf 문을 삽입하면 함수가 올바르게 작동하는 이유는 무엇입니까?

분류에서Dev

프로그램이 값을 올바르게 계산하지 않는 이유는 무엇입니까?

분류에서Dev

내 Mapbox GL이 타일을 올바르게 표시하지 않는 이유는 무엇입니까?

분류에서Dev

Keras의 plot_model이 모델을 올바르게 플로팅하지 않는 이유는 무엇입니까?

분류에서Dev

타이머가 전역 변수를 올바르게 처리하지 않는 이유는 무엇입니까?

분류에서Dev

Bazel run_shell이 인수를 올바르게 배치하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    IF / THEN이 올바르게 작동하지 않는 이유는 무엇입니까?

  2. 2

    PEGjs가 / 올바르게 작동하지 않는 이유는 무엇입니까?

  3. 3

    count (*)가 올바르게 작동하지 않는 이유는 무엇입니까?

  4. 4

    이 Bootstrap 3 열이 올바르게 작동하지 않는 이유는 무엇입니까?

  5. 5

    다음 변수 할당이 올바르게 작동하지 않는 이유는 무엇입니까?

  6. 6

    web3 utils BN이 수학에서 올바르게 작동하지 않는 이유는 무엇입니까?

  7. 7

    boost :: geometry :: intersection이 올바르게 작동하지 않는 이유는 무엇입니까?

  8. 8

    구문 분석 된 Double이 올바르게 작동하지 않는 이유는 무엇입니까?

  9. 9

    내 코드가 동기화에서 올바르게 작동하지 않는 이유는 무엇입니까?

  10. 10

    Sidekiq 4가 메일러에서 올바르게 작동하지 않는 이유는 무엇입니까?

  11. 11

    AngularJS $ scope가 올바르게 작동하지 않는 이유는 무엇입니까?

  12. 12

    greater_equal에서 is_sorted가 올바르게 작동하지 않는 이유는 무엇입니까?

  13. 13

    내 div가 올바르게 쌓이지 않는 이유는 무엇입니까?

  14. 14

    ++가 올바르게 증가하지 않는 이유는 무엇입니까?

  15. 15

    threadpooltest가 올바르게 실행되지 않는 이유는 무엇입니까?

  16. 16

    비동기 작업이 올바르게 실행되지 않는 이유는 무엇입니까?

  17. 17

    페이지로드시에만 올바르게 작동하는 이유는 무엇입니까?

  18. 18

    내 form_validation이 작동하지 않는 이유는 무엇입니까? 오류 : 필드 양식이 올바르게 채워지지 않았습니다.

  19. 19

    MySQL이 내 외래 키의 이름을 올바르게 지정하지 않는 이유는 무엇입니까?

  20. 20

    javascript-이 캔버스 이미지가 올바르게 회전하지 않는 이유는 무엇입니까?

  21. 21

    총 장바구니 가격이 올바르게 계산되지 않는 이유는 무엇입니까?

  22. 22

    Gulp 빌드 작업이 올바르게 설정되지 않는 이유는 무엇입니까?

  23. 23

    사이드 바가 올바르게 정렬되지 않는 이유는 무엇입니까?

  24. 24

    printf 문을 삽입하면 함수가 올바르게 작동하는 이유는 무엇입니까?

  25. 25

    프로그램이 값을 올바르게 계산하지 않는 이유는 무엇입니까?

  26. 26

    내 Mapbox GL이 타일을 올바르게 표시하지 않는 이유는 무엇입니까?

  27. 27

    Keras의 plot_model이 모델을 올바르게 플로팅하지 않는 이유는 무엇입니까?

  28. 28

    타이머가 전역 변수를 올바르게 처리하지 않는 이유는 무엇입니까?

  29. 29

    Bazel run_shell이 인수를 올바르게 배치하지 않는 이유는 무엇입니까?

뜨겁다태그

보관