title: java.nio.file.InvalidPathException: Illegal char <:> at index 2:
body: <p>I have to copy classpath resource from one package to another.</p>
  
  <p>My program is:</p>
  
  <pre><code>    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);
  
          }
  </code></pre>
  
  <p>At <code>Files.copy</code> method I get exception:</p>
  
  <pre><code>Exception in thread "main" java.nio.file.InvalidPathException: Illegal char &lt;:&gt; 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)
  </code></pre>
  
  <p>How to solve it?</p>
  
  <p><strong>Solution</strong></p>
  
  <pre><code>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);
      }
  </code></pre>
  
  <p>This code correctly copies <code>Movie.class</code> from package <code>com/stackoverflow/main</code> into <code>com/stackoverflow/json</code>.</p>