`

文件中的流

阅读更多

1、base64inputStram

public class Base64InputStream extends FilterInputStream {

    private byte[] decodedContent;

    private int pos;

    private int count;

    public Base64InputStream(InputStream in) throws IOException {
        super(in);
        pos = 0;
        byte[] encoded = new byte[in.available()];
        this.in.read(encoded);

        if (Base64.isArrayByteBase64(encoded)) {
            decodedContent = Base64.decodeBase64(encoded);
        }
        else {
            decodedContent = encoded;
        }
        count = decodedContent.length;
    }

    public synchronized int read(byte[] b) throws java.io.IOException {
        int len = 0;
        int off = 0;
        len = b.length;
        return read(b, off, len);
    }

    public synchronized int read(byte[] b, int off, int len) throws java.io.IOException {
        if (b == null) {
            throw new NullPointerException();
        }
        else if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) > b.length) || ((off + len) < 0)) {
            throw new IndexOutOfBoundsException();
        }
        if (pos >= count) {
            return -1;
        }
        if (pos + len > count) {
            len = count - pos;
        }
        if (len <= 0) {
            return 0;
        }
        System.arraycopy(decodedContent, pos, b, off, len);
        pos += len;
        return len;

    }

    public synchronized int read() throws java.io.IOException {
        if (pos >= count) {
            return -1;
        }
        return decodedContent[pos++] & 0xff;

    }

    public int available() throws java.io.IOException {
        return count;
    }

    public long skip(long n) throws java.io.IOException {
        if (pos + n > count) {
            n = count - pos;
        }
        if (n < 0) {
            return 0;
        }
        pos += n;
        return n;

    }

    public boolean markSupported() {
        return false;
    }

    public String toString() {
        try {
            return new String(decodedContent, "GBK");
        }
        catch (UnsupportedEncodingException ex) {
            throw new RuntimeException("不支持的编码规范:GBK");
        }
    }

	public byte[] getDecodedContent() {
		return decodedContent;
	}
}

 2、将字节流转化为文件

byte[] b="已知的信息"
FileOutputStream fos = new FileOutputStream(new File("D:/img12.jpg"));
fos.write(b, 0, b.length);
fos.flush();
 

 

3、读取文件为字节流

FileInputStream fs = new FileInputStream("c://bugs.jpg"); 
byte[] b = new byte[fs.available()]; 
fs.read(b); 
fs.close();

 4、将文件流转化为字节流

public String encode(InputStream in)throws IOException{
		sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
		byte[] data = new byte[in.available()];
		in.read(data);
		return encoder.encode(data);
	}
	
	public byte[] decode(String base64Str)throws IOException{
		sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
		return decoder.decodeBuffer(base64Str);
	}

 5将文件读入并输出为文件

FileOutputStream fos = new FileOutputStream(new File("D:/img12.jpg"));

			byte[] b = new byte[1024];
			int i = 0;
			FileInputStream fis = new java.io.FileInputStream(“D;/imag11.jpg”);
			while ((i = fis.read(b)) > 0) {
				fos .write(b, 0, i);
			}
			fos .flush();
			fos .close();

 6、将文件内容写入文件中,即String串

fileOutputStream.write(string.getBytes());
fileOutputStream.flush();
fileOutputStream.close();

 

 

 

分享到:
评论

相关推荐

    文件和流 文件和流 java文件和流

    java文件和流java文件和流java文件和流java文件和流java文件和流java文件和流java文件和流java文件和流java文件和流

    文件流IO,android文件流

    在Java和Android开发中,文件流(IO,Input/Output)是进行数据读写的核心机制。文件流IO允许程序从磁盘、网络或其他输入源读取数据,或将数据写入到输出目标,如磁盘、网络或打印机。下面将详细探讨文件流IO的基本...

    Java中的流与文件

    - **ObjectInputStream**:用于从字节流中反序列化Java对象。 - **ObjectOutputStream**:用于将Java对象序列化为字节流。 #### 7. File类 `File`类用于封装一个路径名,它可以表示文件或目录,并提供了许多用于...

    以文件流的方式复制文件

    文件流是指在计算机中对文件进行读取、写入、复制等操作的过程。文件流可以分为输入流和输出流两种,输入流用于读取文件的内容,而输出流用于写入文件的内容。在Java中,FileInputStream和FileOutputStream是两种...

    java post文件流的操作

    - **发送请求参数**:将需要发送的数据(通常是文件流)写入到输出流中。 - **读取响应结果**:从输入流中读取服务器返回的数据,并处理这些数据。 ### 2. HttpURLConnection 类详解 `HttpURLConnection`是Java中...

    通过url获取网络位置上的文件流

    这是文件流的起点,我们可以从这个流中读取数据。 5. **处理文件流**:现在,有了输入流,我们可以将其转换为其他类型的流进行处理。例如,如果我们要将网络数据保存到本地文件,可以使用`FileOutputStream`: ```...

    Web Api 通过文件流 下载文件到本地实例

    在ASP.NET Web API中,通过文件流下载文件到本地是一个常见的功能需求,它涉及到网络通信、文件处理和HTTP协议等多个方面。在这个实例中,我们将深入探讨如何实现这一过程,以及涉及的关键技术和步骤。 首先,我们...

    c#页面展示数据库中word文件流或实体文件内容样式

    功能:在一个页面上展示数据库中的word文件流及word实体文件的内容样式! 独特优势: 1,改变传统页面展示word的模式(传统做法是先把数据库中的word文件流转换成word实体文件保存在服务器中,然后再把实体文件...

    NPOI高级文件流

    本文将深入探讨NPOI库在处理Excel文件流中的高级应用。 一、NPOI概述 NPOI是由Apache POI项目的.NET版本,支持读取和写入Excel(XLS和XLSX格式)以及Word(DOC和DOCX格式)文件。其核心功能包括创建新的工作簿、...

    C#文件和流操作

    在C#语言中,文件流操作使用FileStream类,需要在文件的开头加入一条导入语句:using System.IO;否则,FileStream类无法使用。 1、创建文件流 使用FileStream fs = new FileStream(path, FileMode.OpenOrCreate)...

    pdf.js使用文件流预览pdf

    本文将详细介绍如何使用PDF.js通过文件流来预览PDF,特别是针对提供的压缩包中的内容。 首先,理解“文件流”概念至关重要。文件流是一种处理大文件的方法,它允许数据被分块读取或写入,而不是一次性加载整个文件...

    php文件流的读取与写入

    - `7`:这可能指的是`fread()`或`fgets()`,用于从已打开的文件流中读取数据。`fread()`读取特定长度的数据,而`fgets()`则读取一行。 - `8`:这个数字可能指的是`fopen()`函数的模式参数`x`,用于创建新文件并打开...

    资源文件保护--加密文件流

    描述中提到的“c++ 源码,streambuf继承的类,用于实现加密文件流方式读取并解密”,这是C++中一种高级的I/O操作技术。`streambuf`是C++标准库中的一个基础类,它提供了与输入/输出设备交互的基本机制。通过继承`...

    pes格式流文件

    "PES格式流文件",全称为Packetized Elementary Stream,是数字视频和音频编码标准MPEG-2的一部分。这种格式主要用于传输和存储原始的音视频数据,它是在MPEG-2 Transport Stream(TS)的基础上进行封装的一种方式。...

    Java流(文件读写操作)

    Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入流只能从中读取数据,而不能向其中写入数据。...

    .net通过文件流获取对方请求过来的文件

    文件流是.NET Framework中的一个抽象概念,它允许程序与磁盘、网络或其他存储设备上的文件进行交互。`System.IO`命名空间提供了多种类型的文件流类,如`FileStream`、`MemoryStream`和`NetworkStream`等。在本场景中...

    ASP.NET(C#) Web Api通过文件流下载文件的实例

    总结一下,本实例展示了如何在ASP.NET(C#) Web API中利用文件流实现文件下载。通过创建HTTP响应,设置正确的响应头,并将文件内容作为流发送,我们可以方便地让客户端接收到文件并保存到本地。这种方法简单、高效,...

    delphi读取文件流

    读取文件流的基本方法是`Read`,它可以从流中读取指定数量的字节到缓冲区。例如,读取整个文件到字节数组: ```delphi var FileStream: TFileStream; Buffer: TBytes; Count: Integer; begin SetLength(Buffer,...

    文件数据流比较

    在IT领域,文件数据流是比较常见且重要的概念,特别是在编程中。本文将深入探讨文件数据流的含义、工作原理以及如何在VB.Net中进行文件数据流的比较。VB.Net是微软开发的一种面向对象的编程语言,它提供了丰富的库...

    Java后端HttpClient Post提交文件流 及服务端接收文件流

    HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。

Global site tag (gtag.js) - Google Analytics