快捷搜索: 王者荣耀 脱发

Java String与Stream间的互转

=====Convert String to Stream=====

在写程序,特别是写一些小程序时经常遇到这种情况,从一个字符串创建InputStream对象。总是很苦恼,老是要去网上搜半天。于是,觉得将这些东西记下来,记到博客里,以后如果再会用到就好找了。并且,还能方便一下别人。

java文档详细讲解了InputStream的继承结构:

    java.io.InputStream (implements java.io.Closeable) java.io.ByteArrayInputStream java.io.FileInputStream java.io.FilterInputStream java.io.BufferedInputStream java.io.DataInputStream (implements java.io.DataInput) java.io.LineNumberInputStream java.io.PushbackInputStream java.io.ObjectInputStream (implements java.io.ObjectInput, java.io.ObjectStreamConstants) java.io.PipedInputStream java.io.SequenceInputStream java.io.StringBufferInputStream (已过时) 这里,用ByteArrayInputStream(byte[] buf): //code String content = new String("ooxx"); InputStream is = new ByteArrayInputStream(content.getBytes()); ///Z~ 然后,就可以用这个输入流做事了,比如作为一个xml字符串交给解析器去解析,再比如将流直接ftpClient.storeFile到远程......只不过,这种方式是以位流的形式传递的. =====Convert Stream to String====== BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileLocation))); String content=""; String line = br.readLine(); while(line!=null){ content += line+"/n"; line = br.readLine(); } from: ==================================================================== -------------------------------stream转string------------------------------- FileStream fstPreview = new FileStream(stPath, FileMode.Open, FileAccess.Read, FileShare.Read); StreamReader srdPreview = new StreamReader(ss); String temp = string.Empty; while (srdPreview.Peek() > -1) { String input = srdPreview.ReadLine(); temp += input; } srdPreview.Close(); return temp ; -------------------------------string转stream------------------------------- Stream s = new MemoryStream(ASCIIEncoding.Default.GetBytes("Test String")); from:
经验分享 程序员 微信小程序 职场和发展