获取在线文件的内容并将其赋值给一个变量



如何检索文件的内容并将其分配给字符串?

该文件位于https服务器上,内容为纯文本。

我建议Apache HttpClient:简单,干净的代码,它处理服务器发送的字符编码- java.net.URL/java.net.URLConnection强迫你自己处理的东西:

String url = "http://example.com/file.txt";
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(new HttpGet(url));
String contents = EntityUtils.toString(response.getEntity());

查看Java API中的URL类。

我确定你需要的一切都在那里。

首先使用java的URL类从服务器下载文件。

String url = "http://url";
java.io.BufferedInputStream in = new java.io.BufferedInputStream(new 
java.net.URL(url).openStream());
java.io.FileOutputStream fos = new java.io.FileOutputStream("file.txt");
java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte data[] = new byte[1024];
while(in.read(data,0,1024)>=0)
{
   bout.write(data);
}
bout.close();
in.close();

然后使用java的FileInputStream类读取下载的文件

File file = new File("file.txt");
int ch;
StringBuffer strContent = new StringBuffer("");
FileInputStream fin = null;
try {
fin = new FileInputStream(file);
while ((ch = fin.read()) != -1)
strContent.append((char) ch);
fin.close();
} catch (Exception e) {
System.out.println(e);
}
System.out.println(strContent.toString());

我找到的最佳答案:

public static String readPage(String url, String delimeter)
{
    try
    {
        URL URL = new URL(url);
        URLConnection connection = URL.openConnection();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line, lines = "";
        while ((line = reader.readLine()) != null)
        {
            if(lines != "")
            {
                lines += delimeter;
            }
            lines += line;
        }
        return lines;
    }
    catch (Exception e)
    {
        return null;
    }
}

最新更新