用法示例: 向文件写入多种数据,统计字节数 运行结果: 运行结果: 运行结果:
写二进制文件
抽象类OutputStream
用于一般目的输出(非字符输出) ;
用于成组字节输出。
具有写各种基本数据类型的方法;
将数据写到另一个输出流;
它在所有的计算机平台上使用同样的数据格式;
其中size方法,可作为计数器,统计写入的字节数。将int写入文件
import java.io.*; class FileOutputstreamTester { public static void main ( String[] args) { String fileName = "data1.dat"; int value0 = 255, value1 = 0, value2 = -1; try { DataOutputStream out = new DataOutputStream( new FileOutputStream( fileName ) ); out.writeInt( value0 ); out.writeInt( value1 ); out.writeInt( value2 ); out.close(); } catch (IOException iox){ System.out.println("Problem writing"+ fileName); } } }
运行程序后,生成数据文件data1.dat
用写字板打开没有任何显示
用ultraEdit打开查看其二进制信息,内容为00 00 00 FF 00 00 00 00 FF FF FF FF,每个int数字都是32个bit的
FileOutputStream类的构造方法负责打开文件”data1.dat”用于写数据
FileOutputStream类的对象与DataOutputStream对象连接,写基本类型的数据BufferedOutputStream类
DataOutputStream out = new DataOutputStream(new BufferedOutputStream( new FileOutputStream( fileName )));
import java.io.*; class BufferedOutputStreamTester { public static void main ( String[] args ) throws IOException { String fileName = "mixedTypes.dat" ; DataOutputStream dataOut = new DataOutputStream(new BufferedOutputStream(new FileOutputStream( fileName ))); dataOut.writeInt(0); System.out.println( dataOut.size() + " bytes have been written."); dataOut.writeDouble( 31.2 ); System.out.println( dataOut.size() + " bytes have been written."); dataOut.writeBytes("JAVA"); System.out.println( dataOut.size() + " bytes have been written."); dataOut.close(); } }
读二进制文件
读取二进制文件中的3个int型数字并相加
import java.io.*; class DataInputStreamTester { public static void main ( String[] args ){ String fileName = "data1.dat"; int sum = 0; try{ DataInputStream instr = new DataInputStream(new BufferedInputStream(new FileInputStream( fileName ))); sum += instr.readInt(); sum += instr.readInt(); sum += instr.readInt(); System.out.println( "The sum is:" + sum ); instr.close(); } catch ( IOException iox ) { System.out.println("Problem reading"+ fileName ); } } }
通过捕获异常控制读取结束
import java.io.*; class DataInputStreamTester { public static void main ( String[] args ) { String fileName = "data1.dat" ; long sum = 0; try{ DataInputStream instr = new DataInputStream(new BufferedInputStream(new FileInputStream(fileName))); try{ while ( true ){ sum += instr.readInt(); } } catch ( EOFException eof ) { System.out.println( "The sum is:" + sum ); instr.close(); } } catch ( IOException iox){ System.out.println("IO Problems with" + fileName ); } } }
用字节流读取文本文件
import java.io.*; public class InputStreamTester { public static void main(String[] args) throws IOException { FileInputStream s=new FileInputStream("Hello.txt"); int c; while ((c = s.read())!= -1) //读取1字节,结束返回-1 System.out.write(c); s.close(); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算