java.io.FileNotFoundException,错误是什么?

时间:2014-10-30 03:33:07

标签: java java.util.scanner filereader 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();
			}
	}
}

2 个答案:

答案 0 :(得分:1)

FileNotFoundException ==找不到文件....错误404.它不存在。

在这种情况下,您没有指定文件,您指定了一个网页 - 它不能像那样工作,您需要使用网络相关的类来下载页面,然后才能与它进行交互。

File类纯粹用于硬盘驱动器上的文件(或连接的USB /磁盘/等)。

查看How to read a text from a web page with Java?以获取有关阅读网页的帮助。 (问题本身就有你要找的东西,答案是更高级的互动。)

答案 1 :(得分:1)

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());

E&安培; OE