스레드 "주요"java.nio.file.InvalidPathException의 예외 : 불법 문자 <> 인덱스 2에서 :

제이 스미스 :

나는 다른 하나 개의 패키지에서 클래스 패스 리소스를 복사 할 수 있습니다.

내 프로그램입니다 :

    public static void main(String[] args) throws IOException, URISyntaxException {

            ClassLoader classLoader = CopyFileToDirectoryTest.class.getClassLoader();
InputStream in = classLoader.getResourceAsStream("com/stackoverflow/main/Movie.class");

            URI uri = ClassLoader.getSystemResource("com/stackoverflow/json").toURI();
            Path path = Paths.get(uri.getPath(),"Movie.class");
            System.out.println(path);

            long copy = Files.copy(in, path, StandardCopyOption.REPLACE_EXISTING);
            System.out.println(copy);

        }

에서 Files.copy방법 나는 예외를 얻을 :

Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: /D:/Programs/workspaceEE/HibernateDemo/target/classes/com/stackoverflow/json
    at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
    at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
    at java.nio.file.Paths.get(Paths.java:84)
    at com.stackoverflow.main.CopyFileToDirectoryTest.main(CopyFileToDirectoryTest.java:34)

어떻게 그것을 해결하기 위해?

해결책

public static void main(String[] args) throws IOException, URISyntaxException {
        ClassLoader classLoader = CopyFileToDirectoryTest.class.getClassLoader();
        InputStream in = classLoader.getResourceAsStream("com//stackoverflow//main//Movie.class");
        URI uri = ClassLoader.getSystemResource("com//stackoverflow//json").toURI();
        String mainPath = Paths.get(uri).toString();
        Path path = Paths.get(mainPath, "Movie.class");
        System.out.println(path);
        long copy = Files.copy(in, path, StandardCopyOption.REPLACE_EXISTING);
        System.out.println(copy);
    }

이 코드는 제대로 복사 Movie.class패키지 com/stackoverflow/maincom/stackoverflow/json.

사냥꾼 :

문제는이다 Paths.get()에서 생성되는 값의 종류으로 기대할 나던 uri.getPath().

해결책:

URI uri = ClassLoader.getSystemResource("com/stackoverflow/json").toURI();
String mainPath = Paths.get(uri).toString();
Path path = Paths.get(mainPath ,"Movie.class");

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

java.nio.file.InvalidPathException : 인덱스 10의 후행 char <> : res / raw /?

스레드 "주요"java.lang.NumberFormatException의 예외 : 입력 문자열 : "38"

PWC6309 : 스레드 "주요"java.lang.IllegalArgumentException가 예외 불법 compilerSourceVM : 12

임의 단어 게임의 플레이 방법에서 "문자열 인덱스 범위 초과 예외"오류

스레드 "main"의 예외 java.util.regex.PatternSyntaxException: 인덱스 9 근처의 잘못된 문자 범위

Collectors.toMap에서 병합 기능에 스레드 "주요"java.lang.UnsupportedOperationException가 예외

스레드 "main"의 예외 java.time.format.DateTimeParseException : 텍스트 '14 / Oct / 2016 23 : 09 : 25.2110 +0530 '을 인덱스 0에서 구문 분석 할 수 없습니다.

Java에서 "스레드"main "java.lang.StringIndexOutOfBoundsException : String index out of range : 5"문제의 "예외"를 수정하는 방법

Java 코드에서 바인딩 된 예외 오류의 배열 인덱스

Java의 주요 객체 세트에서 맵 인스턴스화

Linux에서 main 외부의 주요 인수에 액세스

스레드 "main"의 예외 java.lang.NumberFormatException : 입력 문자열의 경우 : 기수 16에서 "9000000000000000"

메인 스레드의 작업자 스레드에서 예외 잡기

Java 예외에서 클래스 이름 앞의 문자열

스레드 "주요"org.openqa.selenium.NoSuchElementException의 예외 : 때 팝업 사용 셀레늄에서 요소를 선택하려고

재귀 오류를 사용합니다. 스레드 "main"의 예외 java.lang.StringIndexOutOfBoundsException: 범위를 벗어난 문자열 인덱스: 0

R에 두 개의 주요 인덱스가있는 목록

"main"스레드 예외 java.lang.NoSuchMethodError : java.nio.ByteBuffer.flip () Ljava / nio / ByteBuffer

경계를 벗어난 문자열 인덱스 예외 Java

범위를 벗어난 문자열 인덱스: 22 예외 Java

스레드 "main"의 예외 java.lang.NumberFormatException: 입력 문자열의 경우: "1". "1"에 대한 숫자 형식 예외. trim() 및 split()을 사용하지만

스레드 "main"의 예외 java.lang.StringIndexOutOfBoundsException : 문자열 색인이 범위를 벗어남 : java.lang.String.substring (String.java:1960)에서 -1

SWT_AWT.new_Frame를 사용하는 동안 나는 스레드에서 "주요"java.lang.IllegalArgumentException가를 예외를 얻을 SWT로 스윙 위젯을 삽입하는 방법

스레드 "주요"java.lang.IllegalArgumentException가의 예외 : 더 NetworkModule은 "HTTP" "http://xxx.xxx.xxx.xxx:xxxx"URI의 방식을 위해 설치되지

스레드 "main"의 예외 java.lang.NumberFormatException : 입력 문자열 : "S"

스레드 "main"의 예외 java.lang.NumberFormatException : 입력 문자열 : "t1"?

Python의 호출자 스레드에서 스레드의 예외 포착

스프링 부트 자바의 스레드 "메인"java.awt.HeadlessException 예외

오류 : 스레드 "main"에 예외 java.lang.NumberFormatException : 입력 문자열 : ""

TOP 리스트

  1. 1

    Matlab의 반복 Sortino 비율

  2. 2

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  5. 5

    원-사각형 충돌의 충돌 측면을 찾는 문제

  6. 6

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  7. 7

    어떻게 아무리 "나쁜", ANY의 SSL 인증서와 HttpClient를 사용하지합니다

  8. 8

    Ubuntu는 GUI에서 암호로 사용자를 만듭니다.

  9. 9

    잘못된 상태 예외를 발생시키는 Apache PoolingHttpClientConnectionManager

  10. 10

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  11. 11

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  12. 12

    Vuetify 다중 선택 구성 요소에서 클릭 한 항목의 값 가져 오기

  13. 13

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  16. 16

    cuda 11.1에서 Pytorch를 사용할 때 PyTorch가 작동하지 않음: Dataloader

  17. 17

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  18. 18

    상황에 맞는 메뉴 색상

  19. 19

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  20. 20

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  21. 21

    Maven은 아이 프로젝트 대상 폴더를 청소하지

뜨겁다태그

보관