尊旭网
当前位置: 尊旭网 > 知识 >

outputstreamwriter

时间:2024-11-15 00:46:30 编辑:阿旭

Java:需要使用ByteArrayOutputStream将数据写入文件,不知该如何写下去了,求解

package com.mkyong.core;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class Test {public static void main(String[] args) {User obj = new User();obj.setName("Timml2");FileOutputStream fos = null;try {fos = new FileOutputStream(new File("output"));ByteArrayOutputStream baos = new ByteArrayOutputStream();// Put data in your baosObjectOutputStream objectOutputStream = new ObjectOutputStream(baos);objectOutputStream.writeObject(obj);objectOutputStream.flush();objectOutputStream.close();baos.writeTo(fos);baos.flush();baos.close();ObjectInputStream objectinputStream = new ObjectInputStream(new FileInputStream(new File("output")));User user = (User)objectinputStream.readObject();System.out.println(user);} catch (IOException ioe) {ioe.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {}}}class User implements Serializable{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User [name=" + name + ", age=" + age + "]";}}


java中OutputStreamWriter和Writer的区别还有InputStreamReader与Reader的区别..

java中OutputStreamWriter和Writer的区别还有InputStreamReader与Reader的区别如下:
1.OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。 Reader、Writer是用来处理16位元的流。
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,

InputStream、OutputStream是用来处理8位元的流,
2.java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader 用于从程序中的字符数组输入;
StringReader 用于从程序中的字符串输入;
PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流


java中OutputStream如何追加内容

java总outputStream追加内容,主要使用构造函数,设为true,示例如下:import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.RandomAccessFile;public class AppendFile {public static void method1(String file, String conent) { BufferedWriter out = null; try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true))); out.write(conent); } catch (Exception e) { e.printStackTrace(); } finally { try { if(out != null){ out.close(); } } catch (IOException e) { e.printStackTrace(); } } } }}