`
xuyuanshuaaa
  • 浏览: 389410 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

通过URL获取网络资源

阅读更多
得到网络文件
但是在得到的文件中如出现中文则出现乱码问题:
网络传输肯定是用byte[]的,不可能直接把String对象给传过来,所以server想把某个字符串传给client之前,需要将他转成 byte[] , 这中间就用了server指定的一种编码,client在收到这个 byte[]之后,就必须要采用和server相同的编码,把byte[]重新转换为String。这就是InputStreamReader需要指定一个编码的原因。
InputStreamReader作用就是在通过inputStream读到byte[]的同时,将byte[]用指定的编码,转换为 char[],也就是实际上的String.
StringBuffer sb=new StringBuffer();
		BufferedReader br=null;
		String line=null;
		try
		{
			url=new URL(“http://baidu.com/peon.txt");
			URLConnection urlConn=(URLConnection)url.openConnection();
			
			br=new BufferedReader(new InputStreamReader(urlConn.getInputStream(),"GB2312"));
//解决中文乱码问题
			while((line=br.readLine())!=null)
			{
				sb.append(line);
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
			br.close();
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}

但是问题又出现了,如果下载的文件名里有中文如测试.txt 那么在下载的时候就会找不到此文件URL url=new URL("http://10.0.2.2:8090/mp3/测试.txt");  无效
更改:
String name=URLEncoder.encode("测试", "UTF-8");
URL url=new URL("http://10.0.2.2:8090/mp3/"+name+".txt");
在试验中也是无效的。即使改utf-8为8859_1或者gb2312 
这时我发现如果在tomcat服务器中更别tomcat的编码  在用相应的解码就可以访问到该文件了。如
    <Connector port="8090" protocol="HTTP/1.1"
               maxThreads="150" connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
但是我很纳闷  它默认的编码格式是什么呢 ?难道不是以上三种么?
分享到:
评论

相关推荐

    Android通过URL获取网络资源.doc

    Android通过URL获取网络资源

    JAVA通过url获取网页内容

    "JAVA 通过 URL 获取网页内容" JAVA 通过 URL 获取网页内容是 Java 编程语言中的一种常见操作。通过使用 URL 类和 URLConnection 类,Java 程序可以连接到远程服务器,获取指定 URL 的内容。本文将详细介绍如何使用...

    Android通过URL访问网络资源工具包

    Android通过URL访问网络资源的工具包

    Android移动开发-使用URL读取网络资源的实现

    URL(Uniform Resource Locator)是统一资源定位器,它是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的...

    android获取网络资源demo

    一个通过url访问http的资源的demo

    C# WPF 通过FFmpeg 获取URL视频的播放时长

    FFmpeg解析视频,合并都可以,本项目只是用来获取视频长度,有点大材小用,但是目前能获取在线视频长度的资源的确是不多。VLC也是可以获取在线URL视频长度的,但是VLC有的在线视频也获取不到时长,这是补充方案,...

    根据Url读取网络数据

    本篇文章主要介绍的是,根据url读取网页html,并且显示到webview上面。文章很简单,内容也很简单,那我为什么还要写呢,目的就是就是为了了解和熟悉URL对象和HttpURLConnection对象的使用

    Java获取网页中url的图片资源.rar

    Java获取网页中的图片资源,启动线程,智能解析URL,加载图片资源,显示图片数据,测试时候请用IE打开useTrackedImage.html 文件,载入图像文件,并获取该图像文件。本Java例子主要是利用java.awt.MediaTracker 类来...

    GetIEUrl获取网络真实地址

    获取网络路径资源的真实地址,获取网络路径资源的真实地址,获取网络路径资源的真实地址获取网络路径资源的真实地址,,获取网络路径资源的真实地址,获取网络路径资源的真实地址,

    Android使用URL读取网络资源的方法

    主要为大家详细介绍了Android使用URL读取网络资源的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    读取网络图片的五种方式

    简单的获取网络图片并显示的方法,适合大部分新手!

    android 如何从网络获取一张图片并显示

    首先应想到若要从网络资源中获取图片,就需要通过流操作,于是就想到如何创建流。 第一步:指定图片资源的URL 第二步:通过RUL获取一个connection 第三步:通过连接获取出入流 第四步:利用BitmapFactory....

    android 获取网络图片

    android平台中,将网络图片的url通过Bitmap加载到图片视图中显示出来

    android 获取服务器上资源(图片,文本)

    android 中通过HttpURLConnection获取服务器上的html文件,和图片文件,并保持到本地

    用java获取网络时间

    所以获取网络上面的时间 获取的是 这个网站上面的时间 http://www.bjtime.cn URL url=new URL("http://www.bjtime.cn");//取得资源对象 URLConnection uc=url.openConnection();//生成连接对象 uc.connect(); /...

    HttpHelper 网络资源获取助手类

    /// /// 获取指定页面的HTML代码 ... /// &lt;param name="url"&gt;指定页面的路径 /// 回发的数据 /// 是否以post方式发送请求 /// &lt;param name="cookieCollection"&gt;Cookie集合 /// &lt;returns&gt;&lt;/returns&gt;

    安卓开发入门基础之简单使用URL访问网络资源

    xml布局构思 总体是垂直线性布局 主要放了1个ImageView图片和3个Button按钮 ...需要获取联网权限 设计效果图 刚进入app空荡荡的 原创文章 19获赞 55访问量 4758 关注 私信 展开阅读全文 作者:时光踏路

    Java多个文件根据URL下载后打包zip导出.zip

    Java根据Url把多个文件下载到指定的文件夹目录,然后再将文件夹目录打包成zip导出,包括子目录也可以打包,有个简单的导出html页面,点击导出按钮下载zip。

    一米URL外链资源批量抓取工具v2016.08.10官方中文绿色版

    一米URL外链资源批量抓取工具是一款... 支持手工浏览器获取url,自动过滤重复url或域名; 全网段蜘蛛爬取分析过滤URL,全球海量url资源爬取; 同IP段网站批量扫描(C段扫描); 多种方式外链资源整理(去重/识别/过滤)

Global site tag (gtag.js) - Google Analytics