JAVA文件读写操作详解

目录
  • 一、读文件BufferedInputStream
  • 二、写文件BufferedOutputStream
  • 三、实际应用场景
  • 总结

一、读文件BufferedInputStream

BufferedInputStream必须传入一个InputStream(一般是FileInputStream)

常用方法:

从该输入流中读取一个字节 public int read();

从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。

public int read(byte[] b,int off,int len)

应用实例:

import java.io.BufferedInputStream;
import java.io.FileInputStream;

/**
 * BufferedInputStream:缓冲输入流
 * FileInputStream:文件输入流
 */
public class FileReadToString {
    public static void main(String[] args){
        try {
            FileInputStream fis=new FileInputStream("WynnNi.txt");
            BufferedInputStream bis=new BufferedInputStream(fis);
            String content=null;
             //自定义缓冲区
            byte[] buffer=new byte[10240];
            int flag=0;
            while((flag=bis.read(buffer))!=-1){
                content+=new String(buffer, 0, flag);
            }
            System.out.println(content);
            //关闭的时候只需要关闭最外层的流就行了
            bis.close();
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}

二、写文件BufferedOutputStream

创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

常用方法:

//向输出流中输出一个字节
public void write(int b);

//将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。
public void write(byte[] b,int off,int len);

//刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。
public void flush();

应用实例

/**
 * BufferedOutputStream:缓冲输出流
 * FileOutPutStream:文件输出流
 */
public class StringOutPutToFile {
    public static void main(String[] args){
        try {
            FileOutputStream fos=new FileOutputStream("WynnNi.txt");
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            String content="xxxxxxxxx!";
            bos.write(content.getBytes(),0,content.getBytes().length);
            bos.flush();
            bos.close();
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}

三、实际应用场景

被调用方如何将文件传输给调用方并在本地输出文件

1、被调用方将文件读入缓冲区byte[]

2、将缓冲区数据转换成String传递,String str = Base64.getEncoder().encodeToString(bytes);

3、接收方将String反转为byte[],bytes=Base64.getDecoder().decode(str);

4、接收方将缓冲区输出到文件

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java 如何利用缓冲流读写文件

    利用缓冲流读写文件 从控制台读取数据写入文件 读取文件输出到控制台 public class BookTest { public static void main(String[] args) { //从控制台输入信息并写入文件中 BufferedReader ir=new BufferedReader(new InputStreamReader(System.in)); //包装成字符输入缓冲流 BufferedWriter bw=null; try { bw=new BufferedWrit

  • 浅谈Java中File文件的创建以及读写

    1.创建一个文件 @Test public void test6() throws IOException { File file1 = new File("C:\\IDEA\\h1.txt"); if(!file1.exists()){//文件不存在 file1.createNewFile(); System.out.println("创建成功"); }else{//文件存在 file1.delete(); System.out.println("删除成

  • JAVA文件读写例题实现过程解析

    练习 有这样的一个words数组,数组中每个字符串的格式为"词性:单词" String[] words = {"verb:eat","verb:drink","verb:sleep","verb:play","noun:rice","noun:meat","noun:hand","noun:hair"}; 根据单词性质动词ver

  • java高效文件流读写操作详解

    导语 防止自己以后忘记,记录一些文件流的性能对比. 平常经常会操作到文件读写,java当中提供了许多操作文件的类,一般来说,文件操作也叫流操作,可以按照以下方式分类: 按照功能分类,字节流和字符流. 按照节点流和过滤流,节点流直接操作文件,过滤流包装了节点流和过滤流.如FileInputStream和BufferedFileInputStream就是分别是节点流和过滤流. 文件流比较 下面重点比较我们经常用的几个流 (1) DataInputStream+FileInputStream (2)

  • java对同一个文件进行读写操作方法

    同一个文件是不可以进行同时的读写的,因为我们写入文件会覆盖原文件的,如果这样,对于同一文件来来说,文件发生覆盖,无法进行下次读取 当然,对于两个不同的文件,可以一边读一边写的操作 题目:一个文本中存储26个无序字母,要求对字母排序后重新写入该文件中 分析:可以在内存中用一定的形式存储读入的文件内容,然后进行写入,分开操作. 1.用集合存储读入的文件 public static void fileRevise(File file) throws IOException { Reader reade

  • java实现超大文件的读写功能

    对于几百M或上G的大文件可使用java nio进行读写 , 根据个人的需求 可能需要将一个超大文件读写形成很多较小的文件进行分析,这也不是什么难事,在读完一个缓冲区后 更换写入的对象即可,本文就不做详细介绍了,有需要的可以联系本人. 直接上程序吧 package cn.gzu.readfile; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.Byt

  • JAVA文件读写操作详解

    目录 一.读文件BufferedInputStream 二.写文件BufferedOutputStream 三.实际应用场景 总结 一.读文件BufferedInputStream BufferedInputStream必须传入一个InputStream(一般是FileInputStream) 常用方法: 从该输入流中读取一个字节 public int read(); 从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中. public int read(byte[] b,in

  • Java Zip文件读写操作详解

    输入流(读取): ZipInputStream是一种FileInputStream流,它可以直接读取Zip压缩包的内容: ┌───────────────────┐│    InputStream    │└───────────────────┘          ▲          │┌───────────────────┐│ FilterInputStream │└───────────────────┘          ▲          │┌──────────────────

  • Pandas对CSV文件读写操作详解

    目录 什么是 CSV 文件 CSV 库解析 CSV 文件 读取 CSV 文件 CSV reader 参数 CSV 文件的写入 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 什么是 CSV 文件 CSV 文件(逗号分隔值文件)是一种纯文本文件,它使用特定的结构来排列表格数据.因为它是一个纯文本文件,所以只能包含实际的文本数据,换句话说就是可打印的 ASCII 或 Unicode 字符. 通常,CSV 文件的结构由其名称给出,使用逗号分

  • Go语言学习笔记之文件读写操作详解

    目录 文件写 文件读 小结 文件操作比较多,分为几篇来写吧.首先是文件的读写,在平时的工程化操作中使用最多. 文件写 样例代码如下 package main import ( "bufio" "fmt" "io" "os" ) //写文件 func DoWriteFile() error { _filePath := "./test.txt" _file, _err := os.OpenFile(_file

  • IOS 文件读写操作详解及简单实例

    iPhone 文件读写操作 1,写文件操作 - (IBAction)btnWrite:(id)sender { //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取路径 //参数 要获取的哪种路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSSt

  • java进行文件读写操作详解

    直接上代码,有详细注释,有图解,相信你懂得! 复制代码 代码如下: package day14; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.

  • C++文件读写操作详解

    目录 一.读写文本文件 1.1 写文件 1.2读文件 二.读写二进制文件 2.1 写文件 2.2 读文件 一.读写文本文件 1.1 写文件 写文件步骤如下: 包含头文件 #include <fstream> 创建流对象 ofstream ofs; 打开文件 ofs.open("文件路径",打开方式); 写数据 ofs << "写入的数据"; 关闭文件 ofs.close(); 文件打开方式: 打开方式 解释 ios::in 为读文件而打开文件

  • Node.js Streams文件读写操作详解

    Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务.如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream).因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧. 流是什么 流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地. 简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 EventEmitter .根据它实现的方法,流可以变成可读流(Readable),可写流(Writable),或者双向

  • java文件读写操作实例详解

    目录 File类 File类的构造方法 创建功能 判断 获取 删除 IO流 字节流写数据 小问题 总结 File类 它是文件和目录路径名的抽象表示. 文件和目录是可以通过File封装成对象的. 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的. File类的构造方法 File(String pathname) //通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 Fi

  • 对python for 文件指定行读写操作详解

    1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 详情: w:以写方式打开, a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开 (参见 w ) a+:以读写模式打开 (参见 a ) rb:以二进制读模式打开 wb:以二进制写模式打开 (参见 w ) ab:以二进制追加模式打开 (

随机推荐