【Java】 字符,字节,缓存

保留原有数据类型

数据流的输入和输出

将数据流写出到txt

package xxxx;

import java.io.DataOutputStream;
import java.io.FileOutputStream;

public class Demo13 {
	public static void main(String[] args) {
		try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("a\\b.txt",true))){
			dos.writeBoolean(true);
			dos.writeInt(12);
			dos.writeDouble(12.0);
			dos.writeUTF("维护的货物的");
			System.out.println("完成");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}

发现是乱码,我们在用数据流读取txt中的文件

package xxxx;

import java.io.DataInputStream;
import java.io.FileInputStream;

public class Demo14 {
	public static void main(String[] args) {
		try (DataInputStream dis = new DataInputStream(new FileInputStream("a\\b.txt"))){
			//注意读取的顺序必须和写入的顺序一致
			System.out.println(dis.readBoolean());
			System.out.println(dis.readInt());
			System.out.println(dis.readDouble());
			System.out.println(dis.readUTF());
			System.out.println("完成...");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}

         

读取成功,注意要写出和读取的数据格式一一对应才可以成功

不用Scanner从控制台输入该怎么做

 

Java提醒我们这种方式已经启用所以我们可以用BufferReader,但是Bufferdreader传的是字节流,而我们控制台传的是字符流

 所以可以用InputStreamReader来实现字节流到字符流的转换

InputStreamReader

 

 

猜你喜欢

转载自blog.csdn.net/qq_53478650/article/details/127892258