各位我想把String转换为InputStream
我在网上搜了很久 发现人家都是这么写String content="esff绯闻绯闻";
ByteArrayInputStream in=new ByteArrayInputStream(content.getBytes());
但是我发现这么写是有问题的
因为这个String其实是从外部来的 我根本不知道它的编码方式(经过观察,有多种编码方式),所以以上那个方法是不行的然后我又发现有一个类String content="esff绯闻绯闻";
StringBufferInputStream in=new StringBufferInputStream(content);
但是这个类已经过时了 并且好像不支持中文由于需求实现方面的问题 必须要得到inputStream 所以不知道怎么把String转换为InputStream 求解答
我在网上搜了很久 发现人家都是这么写String content="esff绯闻绯闻";
ByteArrayInputStream in=new ByteArrayInputStream(content.getBytes());
但是我发现这么写是有问题的
因为这个String其实是从外部来的 我根本不知道它的编码方式(经过观察,有多种编码方式),所以以上那个方法是不行的然后我又发现有一个类String content="esff绯闻绯闻";
StringBufferInputStream in=new StringBufferInputStream(content);
但是这个类已经过时了 并且好像不支持中文由于需求实现方面的问题 必须要得到inputStream 所以不知道怎么把String转换为InputStream 求解答
解决方案 »
- 正则表达式的问题,急需
- java如何开启多个线程来同时读取一个比较大的文件
- JAVA压缩对象列表而不是压缩文件哪怕临时的文件也不行。这个如何做呢。
- java 修改日期下拉菜单中的日期值
- 新手求教 关于包 急!!!!!
- 升★★了,放分庆祝,不过要先回答问题:JDK1.4比之前的版本增加了些什么特性
- J2se 的安装 和 Java2 SDK 文档的下载!!————————在线等待!!!!!
- GUI设计问题:如何在程序中添加系统最大化与最小化按钮
- 难:如何在进入Frame界面时先弹出一张照片?
- JAVA异常抛出机制
- 论面向对象之死,注定了失败的道路
- 急求用户注册判断是否有重名用户的代码,我的不能做判断,只会添加,根本不会判断!!!
你这个ISO-8859-1是从何得来 为什么不是utf-8、gbk、unicode
写成ISO-8859-1的话,就是用ISO-8859-1编码解析字符串获得字节流如果你什么都不写,得到的字节流的编码格式就是系统默认的编码格式,windows下是gbk
ByteArrayInputStream in=new ByteArrayInputStream(content.getBytes());楼主这种写法没有问题,content.getBytes(),可以使用字符集编码,比如content.getBytes("UTF-8"),然后从流再转回String时,再使用UTF-8解码就可以了,还是当初你的content的内容,不会出现乱码。也就是说转成流,用哪个编码都可以,重点是采用相同的字符集解码,得到当初的String,毕竟我们可以看的到的是String,不是流。