标签:except ext temp nbsp int 磁盘读写 类型 实现 字符
在Java中如何处理文本I/O
使用Scanner类读取文本数据,使用PrintWriter类写文本数据
例子:
public class IO { public static void main(String [] args) throws FileNotFoundException { // PrintWriter printWriter = new PrintWriter("123.txt"); 输出文本数据 // printWriter.print("chenzquan"); // printWriter.close(); Scanner input = new Scanner(new File("123.txt")); //输入文本数据 System.out.print(input.nextLine()); } }
文本I/O需要编码、解码而二进制I/O不需要,所以二进制I/O比较快
二进制I/O类
InputStream类的方法
OutputStream类方法
FileInputStream和FileOutputStream
FileInputStream类和FileOutputStream类用于从/向文件读取/写入字节
FileInputStream
FileOutputStream
public class TestFileStream { public static void main(String [] args) throws FileNotFoundException, IOException { try(FileOutputStream fileOutputStream = new FileOutputStream("temp.dat"); ){ for(int i=0;i<100; i++) { fileOutputStream.write(i); } } try(FileInputStream fileInputStream = new FileInputStream("temp.dat");){ int value; while((value=fileInputStream.read()) != -1) { System.out.print(value + " "); } } } }
DataInputStream和DataOutputStresam
DataInputStream
实现DataInput接口
DataOutputStream
实现DataOutput接口
创建DataInputStream类和DataOutputStream类
例子:
例子:
public class TestDataStream { public static void main(String [] args) throws FileNotFoundException, IOException { try(DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream("temp.dat"));){ dataOutputStream.writeUTF("John"); dataOutputStream.writeDouble(85.5); dataOutputStream.writeUTF("chenzquan"); dataOutputStream.writeDouble(100.0); } try(DataInputStream dataInputStream = new DataInputStream(new FileInputStream("temp.dat"));){ System.out.println(dataInputStream.readUTF() + " " + dataInputStream.readDouble()); System.out.println(dataInputStream.readUTF() + " " + dataInputStream.readDouble()); } } }
DataInputStream类和DataOutputStream类以同机器平台无关的方式读写Java基本类型值和字符串,所以,一台机器写好数据,可以在另一台读取该文件
BufferedInputStream类和BufferedOutputStream类
他们可以通过减少磁盘读写次数提高输入和输出的速度
使用BufferedInputStream时,磁盘上的整块数据一次性地读入到内存中的缓冲区中,然后从缓冲区将个别数据传到程序中
使用BufferedOutputStream时,个别数据写进缓冲区,当缓冲区满了,缓冲区的数据一次性写入到磁盘中
标签:except ext temp nbsp int 磁盘读写 类型 实现 字符
原文地址:https://www.cnblogs.com/zquan/p/9348124.html