2013-06-03 5 views
2

У меня есть список изображений, которые я пытаюсь загрузить на Java. Это работает:Valid file path throws java.io.FileNotFoundException

 for (String i : link_array) { 

     File image = new File(outputFolderImages, image_id+".gif"); 
     if (!image.exists()) { 
      System.out.println("Downloading: "+i+" to file "+image); 
      FileUtils.copyURLToFile(new URL(i), image, 10000, 10000); 
     } 
    } 

Однако другая часть программы, которую я пишу, требует использования пути, уже находящегося в ссылке на изображение. Если бы the link, то, пожалуйста, сохраните изображение как 05785.gif. Так что я попытался это:

for (String i : link_array) { 
     String x = i.replace("http://www.mspaintadventures.com/storyfiles/hs2/",""); 
     File image = new File(outputFolderImages, x); 

     if (!image.exists()) { 
      System.out.println("Downloading: "+i+" to file "+image); 
      FileUtils.copyURLToFile(new URL(i), image, 10000, 10000); 
     } 
    } 

Но это бросает ошибку:

Exception in thread "main" java.io.FileNotFoundException: C:\Users\Ian\Homestuck\images\05785.gif 
(The filename, directory name, or volume label syntax is incorrect) 

Даже если это правильный путь к файлу; Я сохранил сотни других изображений, используя первый бит кода выше. Как я могу это исправить?

+0

является родительским каталогом? –

+0

Да, я использовал первый блок кода, чтобы сохранить там несколько тысяч других изображений. –

+0

Являются ли эти два блока одним и тем же методом? Возможно, у вас есть код, который изменяет 'outputFolderImages'? –

ответ

0

Оказалось, что проблема связана с завершающими символами новой строки.