javaIO字节流
来源:互联网 发布:买保险 知乎 编辑:程序博客网 时间:2024/05/16 01:24
package javaSE;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/*IO流(输入流,输出流)
字节流和字符流
字节流
单字节读取不适合大文件
InputStrame outputStrame
inputStrame 抽象了应用程序读取数据得方式
outputStrame 抽象了应用程序写出数据得方式
EOF=End 读到-1 就读到结尾
输入流基本方法
int b=in.read()读取一个字节无符号填充到int低八位,-1是End
in.read(byte[] buf)
in.read(byte[]buf,int start ,int size)
输出流基本方法
out.write(int b) 写出一个byte 到流,b的低八位
out.write(byte[]buf)将buf字节数组都写入到流
out.write(byte[]buf,int start,int size)
FileInputStrame 具体实现了在文件上的读写操作
*/
public class IOliu {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
IOUtils.printHex("C:\\新建文件夹\\新建文本文档.txt");
IOUtils.printHexByByteArray("C:\\新建文件夹\\新建文本文档.txt");
}
}
class IOUtils{
/*读取指定文件内容,按照16进制输出到控制台
* 每输出10byte换行
* */
public static void printHex(String fileName) throws IOException{
//把文件当做字节流进行读操作
FileInputStream in=new FileInputStream(fileName);
int b;
int i=1;
while((b=in.read())!=-1)
{
System.out.print(Integer.toHexString(b)+" ");
if(i++%10==0)
System.out.println();
}
in.close();
}
public static void printHexByByteArray(String fileNames) throws IOException{
FileInputStream in=new FileInputStream(fileNames);
byte[]buf=new byte[20*1024];
/*//从in中批量读取字节,放入到buf这个字节数组中,
从第0个位置开始放,最多放buf.length个
返回的是读取到的字节个数*/
/*int bytes=in.read(buf,0,buf.length);//一次性读完,说明字节数组足够大
int j=1;
for(int i=0;i<bytes;i++)
{
System.out.print(Integer.toHexString(i)+" ");
if(j++%10==0)
{
System.out.println();
}
}*/
/*这个适合批量读取,不定义字节数组的的大小*/
/*int bytes;
int j=1;
while((bytes=in.read(buf,0,buf.length))=-1){
for(int i=0;i<bytes;i++)
{
System.out.print(Integer.toHexString(buf[i]&0xf)+" ");
if(j++%10==0)
{
System.out.println();
}
}
}*/
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/*IO流(输入流,输出流)
字节流和字符流
字节流
单字节读取不适合大文件
InputStrame outputStrame
inputStrame 抽象了应用程序读取数据得方式
outputStrame 抽象了应用程序写出数据得方式
EOF=End 读到-1 就读到结尾
输入流基本方法
int b=in.read()读取一个字节无符号填充到int低八位,-1是End
in.read(byte[] buf)
in.read(byte[]buf,int start ,int size)
输出流基本方法
out.write(int b) 写出一个byte 到流,b的低八位
out.write(byte[]buf)将buf字节数组都写入到流
out.write(byte[]buf,int start,int size)
FileInputStrame 具体实现了在文件上的读写操作
*/
public class IOliu {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
IOUtils.printHex("C:\\新建文件夹\\新建文本文档.txt");
IOUtils.printHexByByteArray("C:\\新建文件夹\\新建文本文档.txt");
}
}
class IOUtils{
/*读取指定文件内容,按照16进制输出到控制台
* 每输出10byte换行
* */
public static void printHex(String fileName) throws IOException{
//把文件当做字节流进行读操作
FileInputStream in=new FileInputStream(fileName);
int b;
int i=1;
while((b=in.read())!=-1)
{
System.out.print(Integer.toHexString(b)+" ");
if(i++%10==0)
System.out.println();
}
in.close();
}
public static void printHexByByteArray(String fileNames) throws IOException{
FileInputStream in=new FileInputStream(fileNames);
byte[]buf=new byte[20*1024];
/*//从in中批量读取字节,放入到buf这个字节数组中,
从第0个位置开始放,最多放buf.length个
返回的是读取到的字节个数*/
/*int bytes=in.read(buf,0,buf.length);//一次性读完,说明字节数组足够大
int j=1;
for(int i=0;i<bytes;i++)
{
System.out.print(Integer.toHexString(i)+" ");
if(j++%10==0)
{
System.out.println();
}
}*/
/*这个适合批量读取,不定义字节数组的的大小*/
/*int bytes;
int j=1;
while((bytes=in.read(buf,0,buf.length))=-1){
for(int i=0;i<bytes;i++)
{
System.out.print(Integer.toHexString(buf[i]&0xf)+" ");
if(j++%10==0)
{
System.out.println();
}
}
}*/
}
}
0 0
- JavaIO流--字节流
- JAVAIO—字节流
- javaIO-字节流-FileOutputStream
- javaIO字节流
- javaIO 字节流
- javaIO之文件字节流
- JavaIO-字节流与字符流详解
- JavaIO流之字节流框架图
- javaIO流中的字节字符流整理
- javaIO流中的字节字符流整理
- JavaIO之字符流和字节流
- JavaIO操作之 字节 输入输出流
- 【JavaIO】JavaIO流分类
- JavaIO流基础之字节流与字符流
- JavaIO字节流与字符流的区别详解
- JavaIO-字节流和字符流的区别
- javaIO流(2):文件字节输入流
- 从装饰设计模式角度学习JavaIO字节流
- iOS 异步加载网络图片,获取图片真实尺寸
- Tomcat7 安装与配置
- 前端HTML与CSS学习笔记总结篇(超详细)
- Hadoop(三)——核心之一HDFS
- 标准差(Standard Deviation) 和 标准误差(Standard Error)
- javaIO字节流
- 比较A B大小
- 动态规划学习总结
- Scrapy源码分析(四):请求Request
- Android菜鸟练习第二十四课 Android ScrollView嵌套GridView导致GridView只显示一行item
- Hadoop(四)——编程核心MapReduce(上)
- Swift中对象序列化的实现
- VMware虚拟机找不到USB设备该怎么办?
- Android数据库——LitePal的修改和删除操作