javaIO操作之字节输入流--InputStream

复制代码
/**
 *<li> InputStream类中定义的方法:
 *    <li>读取的数据保存在字节数组中,返回读取的字节数组的长度:public int read(byte[] b) throws IOException ;
 *    <li>读取部分数据保存在字节数组中,返回读取数据的长度:public int read(byte[] b,int off,int len)throws IOException ;
 *            如果文件内容读取到结尾字返回-1;
 */        
package com.java.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class TestDemo {
    public static void main(String args[]) throws Exception{
        //设置文件路径
        File fl = new File("e:"+File.separator+"hello" + File.separator+"demo" +File.separator+"java.txt" );
        if(fl.exists()){ //文件存在
            InputStream in = new FileInputStream(fl) ;
            byte data[] = new byte[1];
            int len = in.read(data) ;//将读取的内容保存在字节数组中,并且返回字节长度
            System.out.println("【"+new String(data,0,len) +"】");
        }
        
    }  
}
复制代码

重要的实现方式:public abstract int read() throws IOException ;

复制代码
/**
 *<li>读取单个字节,如果读取到最后则返回-1: public abstract int read()throws IOException ;
 */        
package com.java.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class TestDemo {
    public static void main(String args[]) throws Exception{
        //设置文件路径
        File fl = new File("e:"+File.separator+"hello" + File.separator+"demo" +File.separator+"java.txt" );
        if(fl.exists()){ //文件存在
            InputStream in = new FileInputStream(fl) ;
            byte data[] = new byte[1024];
            int foot = 0 ;
            int temp = 0 ;
            while((temp = in.read()) != -1){ //说明存在数据
                data[foot ++] = (byte)temp;//将读取的数据保存在字节数组中
            }
            in.close();
            System.out.println("[" + new String(data,0,foot)+"]");
        }
        
    }  
}
复制代码

 

posted @   小洋编程  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示