JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html

①读取指定文件内容,按照16进制输出到控制台

    其中,Integer.toHexString(int i);是将整数i转换成16进制字符串

/*** 读取指定文件内容,按照16进制输出到控制台* 并且每输出10个byte换行* @param fileName*/public static void printHex(String fileName) throws IOException{InputStream is = new FileInputStream(fileName);int len,count=1;while((len=is.read()) != -1){//单位数前面补零if (len <= 0xf) {System.out.print("0");}System.out.print(Integer.toHexString(len) + " ");if (count++%10 == 0) {System.out.println();}}      in.close();}        

②读取指定文件内容到字节数组中,并且按照16进制输出到控制台

  两种方式:第一种是读取到一个字节数组中,第二种是读取到多个字节数组中

    注意:第二种方式中,位与 0xff的原因是:byte类型8位,int类型32位,为了避免数据转换错误,通过&0xff将高24位清零。

/*** 读取指定文件内容到字节数组中,并且按照16进制输出到控制台*/public static void printHexByByteArray(String fileName) throws IOException{InputStream is = new FileInputStream(fileName);byte[] buf = new byte[20 * 1024];/** 从in中批量读取字节,放入到buf这个字节数组中* 从第0个位置开始放,最多放buf.length个* 返回的是读到的字节的个数*/int bytes = is.read(buf,0,buf.length);//一次性读完,说明字节数组足够大int count = 1;for (int i = 0; i < bytes; i++) {if (buf[i] <= 0xf) {System.out.print("0");}System.out.print(Integer.toHexString(buf[i]) + " ");if (count++ % 10 == 0) {System.out.println();}}}

/*** 读取指定文件内容到字节数组中,并且按照16进制输出到控制台*/public static void printHexByByteArray1(String fileName) throws IOException{InputStream is = new FileInputStream(fileName);byte[] buf = new byte[20 * 1024];int bytes = 0;int count = 1;while((bytes = is.read(buf, 0, buf.length)) != -1){for (int i = 0; i < bytes; i++) {System.out.print(Integer.toHexString(buf[i] & 0xff) + " ");if (count++ % 10 == 0) {System.out.println();}}}}

③拷贝文件

/*** 文件拷贝*/public static void copyFile(File srcFile,File destFile) throws IOException{if (!srcFile.exists()) {throw new IllegalArgumentException("文件:" + srcFile + "不存在");}InputStream in = new FileInputStream(srcFile);OutputStream out = new FileOutputStream(destFile);byte[] buf = new byte[8 * 1024];int b;while((b = in.read(buf, 0, buf.length)) != -1){out.write(buf, 0, b);out.flush(); //最好加上
        }in.close();out.close();}

④DataOutputStream的运用

(转)DataInput out Stream

/*** DataOutputStreamTest*/public static void demo(String fileName) throws IOException{DataOutputStream dos = new DataOutputStream(new FileOutputStream(fileName));dos.writeInt(10);dos.writeInt(-10);dos.writeLong(10l);dos.writeDouble(10.5);//采用UTF-8编码写出dos.writeUTF("中国");//采用utf-16be编码写出dos.writeChars("中国");dos.close();}

转载于:https://www.cnblogs.com/deepSleeping/p/9985854.html

Java基础IO流(二)字节流小案例相关推荐

  1. # Java基础——IO流

    Java基础--IO流 File类的使用(熟悉构造器和方法的使用) File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) File类的声明在java.io包下 文件和文件目录路径的抽象表示 ...

  2. Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)

    Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...

  3. Java基础IO流之字符流的使用

    ☆引言☆ 大家好,我是痛而不言笑而不语的浅伤.IO流分为字节流和字符流,而上一篇文章我们学习了字节流(Java基础IO流之字符流的使用),这篇文章带大家一起来学习字符流吧.对文章中描述错误的希望大家积 ...

  4. java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类

    目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...

  5. 二十、Java基础--------IO流之其他对象

    在上面两篇文章中介绍了IO体系并详细介绍了字节流以及字符流,本文主要是讲述操作文件的File.转化流.标准输入与输出.Properties.打印流以及序列流. File File英文为"文件 ...

  6. Java基础—IO流

    第一讲   IO概述 1. 流的概念 IO流即InputOutput的缩写,在Java中IO流用来处理设备之间的数据传输,Java对数据的操作是通过IO流的方式, 我们可以把IO流抽象的当作一根管道, ...

  7. JAVA基础 IO流技术学习笔记

    目录 一.IO 流技术介绍 1.1  什么是IO? 1.2  流的概念 1.3  数据源 1.3.1 什么是数据源? 1.3.2数据源的分类 二.第一个简单的IO流程序 三.IO流经典写法(适用于任何 ...

  8. 黑马程序员-JAVA基础-IO流之字符流和字符流缓冲区

    ------- android培训.java培训.期待与您交流!------- Java 的IO 流 是实现输入和输出的基础,Java 中把不同的输入.输出源抽象表述为"流" (S ...

  9. Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流

    IO流:(Input Output)流 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的码表,获取对应的文字进行操作 简单说:字符流 = 字节流 + 编码表 字节流的两个顶层父 ...

最新文章

  1. R语言ggplot2可视化分面图(facet,facet_wrap): 不同分面配置不同的数据范围、自定义每个分面的轴数据格式化形式及数据范围
  2. 这个勒索软件也太菜了!
  3. SpringBoot 集成 Nacos
  4. Chapter2-1_Voice Conversion(Feature Disentangle)
  5. iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
  6. 线性代数向量乘法_标量乘法属性1 | 使用Python的线性代数
  7. 【Python-GPU】GPU数据科学加速包——RAPIDS
  8. HR问我为什么要离开上一家公司钱没给到位,心委屈了。这些归根到底就一条:干得不爽。
  9. java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子
  10. Ubuntu安装ASIO开发库
  11. 07.用户控件弹窗提示后页面显示不正常;
  12. 详解CAN总线:常用CAN连接器的使用方法
  13. 6那智机器人各轴旋转方向
  14. SCI期刊分区-JCR分区 中科院分区
  15. 2021年机修钳工(中级)报名考试及机修钳工(中级)考试资料
  16. 淘宝双十一自动做任务方案
  17. 台式计算机拆卸步骤,拆卸和组装台式计算机主机的说明步骤
  18. Effective Modern C++笔记汇总
  19. [windows系统上运行spark报错Could not locate executable null\bin\winutils.exe in the Hadoop binaries
  20. Recovering High Dynamic Range Radiance Maps from Photographs

热门文章

  1. Grep 用法和正则表达式(一)
  2. joson返回数据库的时间格式在前台用js转换
  3. .ashx接口单元测试
  4. timeSetEvent的用法(一)
  5. 更改Oracle数据库的编码格式,解决导入时ORA-12899错误
  6. [20170925]什么是FQDN(关于hostname).txt
  7. FPGA设计经验谈 —— 10年FPGA开发经验的工程师肺腑之言
  8. mysql在linux下的完整安装
  9. 运算符——Python
  10. 工业大数据可视化面临的难点有哪些