Stream、Reader说明;Stream与String互转

来源:互联网 发布:天刀成女脸型数据 编辑:程序博客网 时间:2024/04/30 05:26

InputStream 字节流
由文件得到:
FileInputStream fis = new FileInputStream(File file);
由网络得到:
InputStream is = URLConnection/Socket.getInputStream();
由内存得到:
ByteArrayInputStream bais = new ByteArrayInputStream(byte[] buffer);
由字符串得到:
StringBufferInputStream sbis = new StringBufferInputStream(String str);
可以wrap到缓存:
BufferedInputStream bis = new BufferedInputStream(is);

Reader 字符流
由字符串得到:
StringReader sr = new StringReader(String str);
由字节流得到:
InputStreamReader isr = new InputStreamReader(is);
可以wrap到缓存:
BufferdeReader br = new BufferdeReader(Reader reader);

构造字符串:
1. StringBuffer/StringBuilder:
前者有锁,没什么用;后者没锁,常用。
StringBuilder builder = new StringBuilder();
加字:builder.append(8种基本类型/char[] chars/String str);
输出:builder.toString();
2. new String:
String str = new String(byte[] bytes/char[] chars/String str/StringBuilder builder);
加字:str.concat(String str2);str += str2;
3. static format(String format, Objects[] args);格式化字符串

String–>OutputStream:
os.write(str.getBytes());

InputStream–>String:
is.read(bytes);new String(bytes)
new BufferedReader(new InputStreamReader(is)).readLine();
is.read(bytes);baos.write(bytes);baos.toString();

0 0
原创粉丝点击