FileWriter只能接受字符串形式的参数,也就是说只能把内容存到文本文件。相对于文本文
件,采用二进制格式的文件存储更省空间

InputStream用于按字节从输入流读取数据。其中的int read()方法读取一个字节,这个字节
以整数形式返回0到255之间的一个值。为什么读一个字节,而不直接返回一个byte类型的值?
因为byte类型最高位是符号位,它所能表示的最大的正整数是127。

InputStream只是一个抽象类,不能实例化。FilelnputStream是InputStream的子类,用于从
文件中按字节读取。

public static void main(String[] args) throws IOException {
  String filePath = "d:/test.txt";
 File file = new File (filePath); //根据文件路径创建一个文件对象
  //如果找不到文件,会抛出FileNotFoundException异常
  FilelnputStream filelnput = new FilelnputStream(file);
}
  filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常

OutputStream中的write(int b)方法用于按字节写出数据。FileOutputStream用于按字节把数
据写到文件。例如,按字节把内容从一个文件读出来,并写入另外一个新文件,也就是文件复
制功能。

File fileln = new File ("source. txt"); //打开源文件
File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件
FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流
FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流
int c;
//从源文件中按字节读入数据,如果内容还没读完,则继续
while ((c = streamln.read()) != -1) {
streamOut .write (c); //写入目标文件
}
streamln.close。; //关闭输入流
streamOut.close(); //关闭输出流

判断文件是否已经存在,如果不存在则生成这个文件。

File dataFile = new File(dicDir + dataDic);
if (!dataFile.exists()) {
//如果文件不存在则写入文件
}

用File.mkdirs()方法可以创建多级目录。例如,当一个目录不存在时,就创建它。

File tempDir = new File(imgPath);
if(!tempDir.exists()){
tempDir.mkdirs();
}

java读取文件:二进制文件的更多相关文章

  1. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

  2. Java 读取文件的内容

    Java 读取文件的内容 1) CLASS_NAME: 换成自己真实的类名 2) /page/test.json: 换成自己真实的page 3) FileUtils: 来自于org.apache.co ...

  3. Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别

    一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程   这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...

  4. Java读取文件方法和给文件追加内容

    本文转载自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文 ...

  5. java读取文件方法总结

    由于最近在做一个关于从手机本地读取格式化的txt文件中的内容,并且把内容放在listview中显示.这样问题来了,就是如何能够遍历已经获取到特定的map中就是一个问题,在网上找了一些资料,找到了一个很 ...

  6. 关于java读取文件IO流学习总结(一)

    IO流的分类: 1.根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Outpu ...

  7. java读取文件内容常见几种方式

    ①随机读取文件内容 ②以行为单位读取文件,常用于读面向行的格式化文件 ③以字符为单位读取文件,常用于读文本,数字等类型的文件 ④以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件 pa ...

  8. 使用java读取文件夹中文件的行数

    使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...

  9. Java读取文件的几种方式

    package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...

  10. java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)

    1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...

随机推荐

  1. python datetime获取几分钟、小时、天之前的时间

    import datetime print ((datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d ...

  2. 斯坦福公开课:Developing IOS 8 App with Swift(1-3)心得体会

    最近开始学习Swift开发移动程序.跟随斯坦福大学的公开课进行自学. 这真是一个美好的时代,虽然不能在斯坦福求学,但是可以观看录制的授课录像.讲义,好似老师在给我们上课一样! 心得: 1.每节课信息量 ...

  3. 使用Python与数据库交互

    # -*- coding: utf-8 -*- """ Created on Sun Nov 18 19:25:01 2018 @author: wangm " ...

  4. erlang实现DNS解析域名

    erlang的DNS解析,有个inet模块,可以做这个事情,对应的api如下:(这里用的R16B的版本) inet:getaddr/2解析对应一个ip,而inet:getaddr/2解析有可能对应1个 ...

  5. 800元组装一台3D打印机全教程流程-零件清单

    继前面的教程800元组装一台3D打印机全教程流程 k800是一台根据kosselmini改进的低成本3d打印机,通过改变设计,降低了成本,但损失较少性能,取得性价比. 主要改动是:底部支架改为-> ...

  6. VLC For Android Ubuntu14.04编译环境搭建

    VLC多媒体播放器(英语:VLC media player,最初为VideoLAN Client.是VideoLAN计划的开放源码多媒体播放器.)支持众多音频与视频解码器及文件格式,并支持DVD影音光 ...

  7. ASP.NET MVC EXTJS 通用主菜单框架

    一.说明 首先我不知道定义的文章标题是不是准确,我这篇博文介绍的是一个通用的软件主菜单框架,界面布局用的是extjs,还是先上一个图吧. 软件主界面左侧菜单采用的风格是extjs的手风琴模式,需要注意 ...

  8. 九度OJ 1136:Number Steps(步数) (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:691 解决:412 题目描述: Starting from point (0,0) on a plane, we have written ...

  9. 《打造Facebook》

    王淮的<打造Facebook>一书不厚,花半天时间轻松读完.书中没有大段的说教,只有近乎流水的陈述.正如作者所说,打造Facebook这本书由巴克伯格来写再合适不过.可惜他至少在近几年内没 ...

  10. 获取app-package和app-activity的值

    方法一 原文链接:http://mp.weixin.qq.com/s/KTkfmibSoaGOmDazJmZ8Sw 利用appium图形界面和已有的apk文件获取package和activity. 点 ...