我正在尝试读取文件并打印出每行的子字符串。我无法弄清楚我的错误是什么。我的链接有效,导致错误的原因是什么?
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();
}
}
}
答案 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