如何从文字中读取行?看看我的代码:
public static String getTemplateFromFile() {
String name = null;
try {
BufferedReader reader = new BufferedReader(new
FileReader(
"http://localhost:8080/blog/resources/cache/templateName.txt"));
name = reader.readLine();
//name="TEST";
//NULL anyway
reader.close();
}
catch (Exception e) {
}
return name;
}
我也有secnod版本,但我的服务器冻结了。
public static String getTemplateFromFile() {
String name = null;
/*
try {
URL url = new URL("http://localhost:8080/blog/resources/cache/templateName.txt");
Scanner s = new Scanner(url.openStream());
name=s.nextLine();
s.close();
}
catch(IOException ex) {
ex.printStackTrace();
}*/
return name;
}
我认为它无法关闭连接或其他东西。
即使我在try构造中说name="TEST";
,它也会返回NULL。
答案 0 :(得分:6)
FileReader
就是这样 - 一个从文件中读取的类,而不是HTTP请求。
您收到的文件路径异常无效,然后您将在您的邪恶空捕获块中忽略它。
相反,您应该使用URLConnection
。
答案 1 :(得分:0)
试试这个
try{
URL reader=new URL("http://localhost:8080/blog/resources/cache/templateName.txt");
BufferedReader br=new BufferedReader(new InputStreamReader(reader.openStream()));
name = br.readLine();
//name="TEST";
br.close();
}catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
AFAIK,URL#openStream()
在内部调用URL#openConnection()
,创建URLConnection
的实例并在其上调用URLConnection#getInputStream()
。