import java.io.*;
public class DataStreamDemo {
/**
* @param args
*/
/*
* DataInputStream和DataOutputStream
* 可以操作基本数据类型的数据的对象
*
* */
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
//writeData();
//readData();
//writeUTFDemo();
/*
* 一个中文
* utf-8修改版:4字节 (DataOutputStream->DataInputStream)才能读取出来
* utf-8:3字节
* gbk:2字节
*
* */
/*OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("e:\\utf-8.txt"),"utf-8");
osw.write("李四");//正常的UTF-8 写出来的是6字节
osw.close();*/
readUTFdeamo();
}
public static void writeData() throws IOException{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("e:\\3.txt"));
dos.writeInt(285);//4字节 writeInt 就是一次写4字节
dos.writeBoolean(true);//1字节 writeBoolean 一次写1字节
dos.writeDouble(9887.543);//8个字节 writeDouble 一次写8字节
dos.close();
}
public static void readData() throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("e:\\3.txt"));
int d1=dis.readInt();
boolean d2= dis.readBoolean();
double d3=dis.readDouble();
sop(d1);
sop(d2);
sop(d3);
dis.close();
}
public static void readUTFdeamo() throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("e:\\UTF修改版data.txt"));
String name=dis.readUTF();
dis.close();
sop(name);
}
public static void writeUTFDemo() throws IOException{//使用的是UTF-8修改版,只能用与其对应的DataInputStream读出来
DataOutputStream dos=new DataOutputStream(new FileOutputStream("e:\\UTF修改版data.txt"));
dos.writeUTF("李四");//本来正常(gbk)是4字节,此时写出来的是8字节(UTF-8修改版)
dos.close();
}
public static void sop(Object obj){
System.out.println(obj);
}
}
public class DataStreamDemo {
/**
* @param args
*/
/*
* DataInputStream和DataOutputStream
* 可以操作基本数据类型的数据的对象
*
* */
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
//writeData();
//readData();
//writeUTFDemo();
/*
* 一个中文
* utf-8修改版:4字节 (DataOutputStream->DataInputStream)才能读取出来
* utf-8:3字节
* gbk:2字节
*
* */
/*OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("e:\\utf-8.txt"),"utf-8");
osw.write("李四");//正常的UTF-8 写出来的是6字节
osw.close();*/
readUTFdeamo();
}
public static void writeData() throws IOException{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("e:\\3.txt"));
dos.writeInt(285);//4字节 writeInt 就是一次写4字节
dos.writeBoolean(true);//1字节 writeBoolean 一次写1字节
dos.writeDouble(9887.543);//8个字节 writeDouble 一次写8字节
dos.close();
}
public static void readData() throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("e:\\3.txt"));
int d1=dis.readInt();
boolean d2= dis.readBoolean();
double d3=dis.readDouble();
sop(d1);
sop(d2);
sop(d3);
dis.close();
}
public static void readUTFdeamo() throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("e:\\UTF修改版data.txt"));
String name=dis.readUTF();
dis.close();
sop(name);
}
public static void writeUTFDemo() throws IOException{//使用的是UTF-8修改版,只能用与其对应的DataInputStream读出来
DataOutputStream dos=new DataOutputStream(new FileOutputStream("e:\\UTF修改版data.txt"));
dos.writeUTF("李四");//本来正常(gbk)是4字节,此时写出来的是8字节(UTF-8修改版)
dos.close();
}
public static void sop(Object obj){
System.out.println(obj);
}
}