java.io.FileNotFoundException, в чем ошибка?

Я пытаюсь прочитать файл и распечатать подстроку каждой строки. Я не могу понять, в чем моя ошибка. Моя ссылка работает, так что вызывает ошибку?

import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
public class FileReader {
	public void fileReader() {
		File file = newFile("https://www.cs.uoregon.edu/Classes/14F/cis212/assignments/phonebook.txt");
		try{
		Scanner scan = new Scanner(file);
		while(scan.hasNextLine())
		{
			String numAndName = scan.nextLine();
			String newNum = numAndName.substring(0, 8);
			System.out.println(newNum);
		}
		scan.close();
		} catch(FileNotFoundException e)
			{
				e.printStackTrace();
			}
	}
}


person Jake Urban    schedule 30.10.2014    source источник


Ответы (2)


FileNotFoundException == Файл... не найден. Ошибка 404. Ее просто нет.

В этом случае вы не указали файл, вы указали веб-страницу — это так не работает, вам нужно использовать классы, связанные с сетью, для загрузки страницы, прежде чем вы сможете с ней взаимодействовать.

класс File предназначен исключительно для файлов на вашем жестком диске (или подключенных USB-дисках/дисках/и т. д.).

Ознакомьтесь с Как читать текст из Интернета. страница с Java? для помощи в чтении веб-страниц. (В самом вопросе есть то, что вы ищете, ответы представляют собой более сложное взаимодействие.)

person mcmonkey4eva    schedule 30.10.2014

new File("https://www.cs.uoregon.edu/Classes/14F/cis212/assignments/phonebook.txt");

Проблема в имени файла. Это не имя файла, это URL-адрес, и он относится не к файлу, а к ресурсу HTTP. Удалите его и измените это:

Scanner scan = new Scanner(file);

к этому:

Scanner scan = new Scanner(new URL("https://www.cs.uoregon.edu/Classes/14F/cis212/assignments/phonebook.txt").openStream());

Э&ОЕ

person user207421    schedule 30.10.2014