java 中的流
来源:互联网 发布:比较好的vpn 知乎 编辑:程序博客网 时间:2024/05/29 07:13
java中的流
java中有很多种流,可以分为节点流,处理流,也可以分为字节流,字符流
基本的节点流如下:InputStream,OutputStream,FileInputStream,FileOutputStream,Reader,Writer,FileReader,FilerWriter
处理流如下:BufferedInputStream,BufferedOutputStream,OutputStreamReader,OutputStreamWriter,DataOutputStream,DataInputStream,ObjectInputStream,ObjectOutputStream
ByteArrayInputStream,ByteArrayOutputStream等
以上只是列举了一些比较常用的,如果要详细了解,可以查看jdk的API文档
下面是关于上面流写的一些例子,用作参考
public class FileInputStreamTest {
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
// fileInputStream();
// fileWrite();
// bufferWriter();
// ouputStreamWriter();
// dataInputStream();
objectOutputStream();
}
private static void objectOutputStream() throws IOException,
FileNotFoundException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("c:/data.dat"));
SerializableClazz clazz = new SerializableClazz(10,"test",1.023);
oos.writeObject(clazz);
oos.flush();
oos.close();
}
private static void dataInputStream() throws FileNotFoundException,
IOException, UnsupportedEncodingException {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("c:/test.txt"));
dos.writeFloat(new Float(0.123456));
dos.writeBoolean(true);
dos.writeChars("这是一个测试");
dos.flush();
dos.close();
DataInputStream dis = new DataInputStream(new FileInputStream("c:/test.txt"));
System.out.println(dis.readFloat());
System.out.println(dis.readBoolean());
dis.close();
}
private static void ouputStreamWriter() throws FileNotFoundException,
IOException {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("c:/test.txt",true),"gbk");
System.out.println(osw.getEncoding());
osw.write("这是一个测试用例,用来测试 outputstreamwriter" +
"アリババは、仕入れたい商材の调达、问屋を探せる卸サイトです");
osw.flush();
osw.close();
}
private static void bufferWriter() throws IOException {
//字符流,处理流
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/test.txt"));
for(int i =0 ; i<100; i++)
{
// bw.write(String.valueOf(Math.random()));
bw.write(String.valueOf(new Random().nextInt(10)));
bw.newLine();
}
bw.close();
}
private static void fileWrite() throws IOException {
//字符流,节点流
FileWriter fw = new FileWriter("c:/test.txt");
for(int i= 0 ; i< 5000; i++)
{
fw.write("baike.baidu.com/view/1882862.htm");
}
fw.flush();
fw.close();
}
private static void fileInputStream() throws FileNotFoundException,
IOException, UnsupportedEncodingException {
//字节流,节点流
FileInputStream fi = new FileInputStream("c:/a.txt");
StringBuilder str = new StringBuilder();
byte[] buffer = new byte[1024];
int b = 0;
while((b = fi.read(buffer)) != -1)
{
str.append(new String(buffer , "gb2312"));
}
fi.close();
System.out.println(str.toString());
}
}
/*
此处定义了一个类,并继承了serializable接口,主要的作用是使对象可序列化,
使用objectouputstream保存到本地或进行网络传输
*/
class SerializableClazz implements Serializable{
private int i;
private String str;
transient private double d;// 序列化时不予考虑
public SerializableClazz(){}
public SerializableClazz(int i,String str , double d){
this.i = i;
this.str = str;
this.d = d;
}
public SerializableClazz getInstance(){
return new SerializableClazz();
}
}
- 【Java】Java中的IO流
- JAVA中的输入输出流
- JAVA 中的IO流
- Java中的流操作
- Java中的管道流
- Java中的管道流
- JAVA 中的IO流
- Java中的IO流
- JAVA 中的IO流
- JAVA 中的IO流
- Java中的流
- Java中的输入输出流
- java 中的流
- JAVA 中的IO流
- java中的输入输出流
- JAVA 中的IO流
- java中的字符流
- java中的io流
- oracle 总结
- 新手 看了网上很多资料后 学习写的一个listview
- 使uboot支持S3C6410的SD启动
- pl/sql 远程连接orcle服务器问题
- c++经典面试题
- java 中的流
- oralce 记录历史的两样东西 日志 回滚
- 第三次作业参考答案
- getopt(win32) -- 命令行参数解析函数
- PL/SQL复合类型
- oracle 中truncate 和delete 的区别
- How:windows 7 下控制台无法正常显示中文解决
- hdu4000(一维树状数组模板)
- GetType和typeof的区别 以及一个小实例