如何打开位于web上的txt文件并将其内容读取为字符串



我已经环顾四周如何做到这一点,我一直在寻找不同的解决方案,其中没有一个对我来说很好,我不明白为什么。文件阅读器只适用于本地文件吗?我尝试了在网站上找到的脚本组合,它仍然不太工作,它只是抛出一个异常,让我为变量内容留下错误。以下是我一直未成功使用的代码:

public String downloadfile(String link){
    String content = "";
try {
                URL url = new URL(link);
                URLConnection conexion = url.openConnection();
                conexion.connect();
                InputStream is = url.openStream();
                BufferedReader br = new BufferedReader( new InputStreamReader(is));
                StringBuilder sb = new StringBuilder();
                String line;
                while ((line = br.readLine()) != null) {
                   sb.append(line);
                } 
                content = sb.toString();
                br.close();
                is.close();
            } catch (Exception e) {
                content = "ERROR";
                Log.e("ERROR DOWNLOADING",
                        "File not Found" + e.getMessage());
            }
return content;
}

将其用作下载器(提供保存文件的路径(以及扩展名)和文本文件的确切链接)

    public static void downloader(String fileName, String url) throws IOException {
    File file = new File(fileName);
    url = url.replace(" ", "%20");
    URL website = new URL(url);
    if (file.exists()) {
        file.delete();
    }
    if (!file.exists()) {
        ReadableByteChannel rbc = Channels.newChannel(website.openStream());
        FileOutputStream fos = new FileOutputStream(fileName);
        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
        fos.close();
    }
}

然后调用这个函数读取文本文件

   public static String[] read(String fileName) {
    String result[] = null;
    Vector v = new Vector(10, 2);
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader(fileName));
        String tmp = "";
        while ((tmp = br.readLine()) != null) {
            v.add(tmp);
        }
        Iterator i = v.iterator();
        result = new String[v.toArray().length];
        int count = 0;
        while (i.hasNext()) {
            result[count++] = i.next().toString();
        }
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }

    return (result);
}
最后是main方法
        public static void main(){
        downloader("D:\file.txt","http://www.abcd.com/textFile.txt");
        String data[]=read("D:\file.txt");
         } 

try this:

 try {
    // Create a URL for the desired page
       URL url = new URL("mysite.com/thefile.txt");
     // Read all the text returned by the server
     BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
     String str;
     StringBuilder sb = new StringBuilder();
     while ((str = in.readLine()) != null) {
      // str is one line of text; readLine() strips the newline character(s)
        sb.append(str );
     }
     in.close();
     String serverTextAsString = sb.toString();
    } catch (MalformedURLException e) {
   } catch (IOException e) {
 }

相关内容

  • 没有找到相关文章

最新更新