我正在尝试从URL中读取csv文件。但我得到java.io.FileNotFoundException。该URL适用于浏览器。请帮忙。 下面是我的csv阅读代码。
public static void main(String args[]) {
InputStream input = null;
try {
input = new URL("http://prod2.riskval.com/site/table.csv").openStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
Reader reader = new InputStreamReader(input, "UTF-8");
BufferedReader br = new BufferedReader(reader);
String data;
try {
data = br.readLine();
System.out.println(data);
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
该文件似乎是问题所在。我尝试了另一个文件,它就像这样工作。
public static void main(String args[]) throws IOException {
InputStream input = null;
URL url = new URL("http://samplecsvs.s3.amazonaws.com/SalesJan2009.csv");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String data;
data = in.readLine();
System.out.println(data);
}
答案 1 :(得分:0)
原因是你的网址有隐藏的字符,我只是尝试在浏览器中复制粘贴相同的网址,当你从MS Word或写字板或类似文件中复制文本时,它会根据this给我404。编辑你得到这些%E2%80%8B
字符,表示行尾。
只需复制粘贴在sublime或任何其他显示隐藏字符的文本编辑器中的URL,您应该看到类似这样的内容
答案 2 :(得分:0)
这应解决您的阅读问题。请研究一下。
package tttttttttttttttt;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
public class ss {
public static void main(String args[]) {
InputStream input = null;
BufferedReader br = null;
StringBuilder body = new StringBuilder();
String line = null;
try {
input = new URL("http://www.google.com").openStream();
System.err.println(input);
System.err.println(input.available());
System.err.println(input.markSupported());
br = new BufferedReader(new InputStreamReader(input));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print("Captured " + br);
}
}