java 写文件 二进制_简单Java程序向实用程序的过度:二进制文件的读写
File I/O中常见的文件读写:
1.字节流读写文本文件
FileInputStream;
FileOutputStream;
2.字符流读写文本文件
FileReader;
FileWriter;
BufferedReader;
BufferedWriter;
3.二进制读写文件
DataInputStream;
DataOutputStream;
这里重点介绍二进制文件的读写:
一、使用字节流类DataInputStream读写二进制文件
DataInputStream类是FileInputstream的子类,它是FileInputStream类的扩展。
利用DataInputStream类读取二进制文件要使用到FileInputStream类。
具体操作步骤:
1)引入相关的类
2)构造一个数据流对象
3)利用数据输入流类的方法读取二进制文件的数据
dis.read();//读取字节数据
4)关闭数据输入流
dis.close();//关闭数据输入流
二、使用字节流类DataOutputStream写二进制文件
DataOutputStream类是FileOutputStream的子类,需要用到FileOutputStream类。
具体操作步骤:
1)引入相关的类
2)构造一个数据输出流对象
3)利用数据输出流类的方法写二进制文件的数据
out.write(1);//将指定字节数据写入二进制文件
4)关闭数据输出流
out.close();
三、编写一个Java程序读取windows目录下的win.ini文件,并输出其内容
1 importjava.io.DataInputStream;2 importjava.io.FileInputStream;3 importjava.io.FileNotFoundException;4 importjava.io.IOException;5
6 /**
7 * 编写一个Java程序读取windows目录下的win.ini文件,并输出其内容8 *@authorAdministrator9 *10 */
11 public classTest041 {12
13 public static voidmain(String[] args) {14 DataInputStream dis = null;15 try{16 /*创建二进制输入流*/
17 dis = new DataInputStream(new FileInputStream("C:\\windows\\win.ini"));18
19 /*循环读取并输出信息*/
20 inttemp;21 while((temp=dis.read())!=-1){22 System.out.print((char)temp);23 }24 } catch(FileNotFoundException e) {25 e.printStackTrace();26 } catch(IOException e) {27 e.printStackTrace();28 }29 finally{30 if (dis!=null) {31 try{32 dis.close();33 } catch(IOException e) {34 e.printStackTrace();35 }36 }37 }38
39 }40
41 }
四、DataInputStream类与DataOutputStream类搭配使用,可以按照与平台无关的方式从流中读取基本数据类型的数据
1.DataInputStream的readUTF()方法能读取采用utf-8字符编码的字符串;
2.DataOutputStream的writeUTF()方法能写入采用utf-8字符编码的字符串;
test:复制图片
1 importjava.io.DataInputStream;2 importjava.io.DataOutputStream;3 importjava.io.FileInputStream;4 importjava.io.FileOutputStream;5 importjava.io.IOException;6
7 /**
8 * 复制图片(二进制字节流)9 *@authorAdministrator10 *11 */
12 public classTest004 {13
14 public static voidmain(String[] args) {15 FileInputStream fis = null;16 FileOutputStream fos = null;17 DataInputStream dis = null;18 DataOutputStream dos = null;19 try{20 //创建输入流
21 fis = new FileInputStream("D:\\tengyicheng\\timg.jpg");22 dis = newDataInputStream(fis);23 //创建输出流
24 fos = new FileOutputStream("D:\\tengyicheng\\myFile\\timg.jpg");25 dos = newDataOutputStream(fos);26 //循环读取录入
27 inttemp;28 while((temp = dis.read())!=-1){29 dos.write(temp);30 }31 } catch(IOException e) {32 e.printStackTrace();33 }34 finally{35 try{36 if (fis!=null) {37 fis.close();38 }39 if (fos!=null) {40 fos.close();41 }42 if (dis!=null) {43 dis.close();44 }45 if (dos!=null) {46 dos.close();47 }48 } catch(IOException e) {49 e.printStackTrace();50 }51 }52
53 }54
55 }
java 写文件 二进制_简单Java程序向实用程序的过度:二进制文件的读写相关推荐
- 写文件 追加_总结Java中创建并写文件的5种方式
在Java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面小编就帮大家总结一下Java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者 ...
- 用java写一个日历_使用JAVA写一个简单的日历
JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...
- java 写文件 并发_记录一次Java文件锁引起的并发写文件问题
背景 刚接手新项目,该项目是高并发的游戏日志服务端存储,一个项目适配多个游戏,很多特殊需求要兼容,刚开始接手,需要修复很多管道的数据,存储管道有两个,分别是MySQL和HDFS,数据消费自Kafka, ...
- java 大文件 处理_用Java处理大文件
java 大文件 处理 我最近不得不处理一组包含历史逐笔交易的外汇市场数据的文件,并很快意识到使用传统的InputStream都无法将它们读取到内存中,因为每个文件的大小都超过4 GB. Emacs甚 ...
- java爬虫自动识别验证码_简单Java爬虫(一)爬取手机号码
原创 野狗菌 希望你能喜欢 今天 关于本文: 本文介绍一个简单Java爬虫,获取网页源码,爬取电话号码. 本篇教程用我的博客一个测试网页演示. --野狗菌[希望你能喜欢] 测试页面: https:// ...
- java 扫描文件测试_适用于Java开发人员的微服务:安全测试和扫描
java 扫描文件测试 1.简介 本教程的这一部分专门讨论安全性测试,将围绕被证明在软件开发领域(包括微服务 )中无价的测试策略进行总结. 尽管软件项目中的安全方面每天都变得越来越重要,但是令人惊讶的 ...
- java界面 文件选择器_掌握java技术 必备java工具应用知识
在现如今的互联网时代里,Java无疑是一种极为流行的开发语言,无论是程序界还是整个互联网行业势必带来很大的影响.不管是人才需求还是薪资水平上,Java的发展前景都是很乐观的.关于Java的一些常用的工 ...
- java压缩文件读取_用Java读取/写入压缩和非压缩文件
java压缩文件读取 这篇文章的主要原因是尝试不要重复自己( DRY ),因为通常,我会遇到递归的需求,即读写压缩的和非压缩的文件(主要是JSON和CSV). 首先让我们看看如何读取文本文件. 注意我 ...
- java判断文件结束_关于java读取文件时,如何判断读取文件是否到达末尾?
一.前言 java读取文件时,如果到达文件末尾,再进行读取时会发生异常,所以我们需要判断读取文件已经到达末尾.对于文件读取我们通常会采用不同的读取方式,如用InputStream流读取字节流.用Rea ...
最新文章
- 推荐系统——开源代码
- javascript创建类_如何使用JavaScript创建吹气效果
- 了解如何使用Yii2 PHP框架创建YouTube克隆
- javascript 校验 非空_Javascript的表单与验证-非空验证
- IBM并购网络视频会议商WebDialogs 加入Lotus Sametime
- linux用户开启xftp,XFTP如何连接LINUX虚拟机
- 最小上界sup(来自wiki)
- Android网页字体缩放控件,Zoom Text Only插件下载-chrome网页字体缩放插件Zoom Text Only下载v1.5.4 官方版-西西软件下载...
- android弹球动画,FlingAnimation/SpringAnimation实现弹球动画
- 超详细 LaTex数学公式
- 实现极致节能,维谛技术(Vertiv)有哪些特殊技能?
- Java毕设项目在线答题系统计算机(附源码+系统+数据库+LW)
- HTML设计网页之网页头部
- netcore 开源cms
- 高性能RabbitMQ消息队列介绍 及 SpringBoot整合
- 使用 Mapbox 在 Vue 中开发一个地理信息定位应用
- 史上最详细的maven仓库详解
- MFC 加载jpg等图片
- 从银行角度看二代征信
- sheet.js插件解析excel数据