Java如何把字符串转化为输入流

try{//将System.in转化为面向字符的流InputStreamReaderir=newInputStreamReader(System.in);in=newBu... try{
//将System.in转化为面向字符的流
InputStreamReader ir = new InputStreamReader(System.in);

in = new BufferedReader(ir);//为输入流提供缓冲区

while ((s = in.readLine()) != "bye")
System.out.println("Read: " + s);

}
catch(IOException e)
{System.out.println("Error! ");}
}
我现在要把System.in换为一个从TextArea中获取的字符串,如何修改?
展开
 我来答
ninjasai
2010-01-31 · TA获得超过489个赞
知道答主
回答量:149
采纳率:0%
帮助的人:233万
展开全部
基本同 zeus3288 的答案

但是InputStream myIn=new ByteArrayInputStream(txt.getBytes());
txt.getBytes()这里有个问题,就是不带参数的getBytes()基本上是不被允许的。。。

InputStream myIn= new ByteArrayInputStream(txt.getBytes("UTF-8"));
要带上参数!指定字符编码(UFT-8或者GBK等),切记。。。
幻之谁愚
推荐于2017-09-22 · TA获得超过4.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:77%
帮助的人:903万
展开全部
代码如下:
  /**
  * 将一个字符串转化为输入流
  */
public static InputStream getStringStream(String sInputString){
  if (sInputString != null && !sInputString.trim().equals("")){
  try{
  ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(sInputString.getBytes());
  return tInputStringStream;
  }catch (Exception ex){
  ex.printStackTrace();
  }
  }
  return null;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zeus3288
推荐于2017-10-10 · TA获得超过1312个赞
知道小有建树答主
回答量:525
采纳率:0%
帮助的人:796万
展开全部
//txt为TextArea内的字符串

try{
InputStream myIn=new ByteArrayInputStream(txt.getBytes());
//将System.in转化为面向字符的流
InputStreamReader ir = new InputStreamReader(myIn);

in = new BufferedReader(ir);//为输入流提供缓冲区

while ((s = in.readLine()) != "bye")
System.out.println("Read: " + s);

}
catch(IOException e)
{System.out.println("Error! ");}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuhaiwei
2010-01-31 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1379万
展开全部
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

class ReadByte {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader(
"c:/bsmain_runtime.log"));
String s;
while (br.ready() && (s = br.readLine()) != "bye") {
System.out.println("Read: " + s);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

以上是直接从文件
===================
一下是从String

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
import java.io.PrintWriter;

class ReadByte {
public static void main(String[] args) {
try {
String test = "1234\r\nsdfs";
PipedWriter pw = new PipedWriter();
PipedReader pr = new PipedReader(pw);
PrintWriter pw2 = new PrintWriter(new BufferedWriter(pw), true);
BufferedReader br = new BufferedReader(pr);
pw2.println(test);

String s;
while (br.ready() && (s = br.readLine()) != "bye") {
System.out.println("Read: " + s);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式