java 文件转inputstream_把文本转换成表格

java 文件转inputstream_把文本转换成表格以下是一些将InputStream转换为FileJava示例手动将InputStream复制到FileOutputStreamApacheCommonsIO–FileUtils.copyInputStreamToFileJava1.7NIOFiles.copy1.FileOutputStream1.1我们必须将数据从InputStream手动复…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

以下是一些将InputStream转换为File Java示例

  1. 手动将InputStream复制到FileOutputStream
  2. Apache Commons IO – FileUtils.copyInputStreamToFile
  3. Java 1.7 NIO Files.copy

1. FileOutputStream

1.1我们必须将数据从InputStream手动复制到OutputStream

InputStreamToFile.java
package com.mkyong;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;

public class InputStreamToFile {

    private static final String FILE_TO = "d:\\download\\google.txt";

    public static void main(String[] args) throws IOException {

        URI u = URI.create("https://www.google.com/");
        try (InputStream inputStream = u.toURL().openStream()) {
            File file = new File(FILE_TO);
            copyInputStreamToFile(inputStream, file);
        }
    }

    // InputStream -> File
    private static void copyInputStreamToFile(InputStream inputStream, File file) 
		throws IOException {

        try (FileOutputStream outputStream = new FileOutputStream(file)) {

            int read;
            byte[] bytes = new byte[1024];

            while ((read = inputStream.read(bytes)) != -1) {
                outputStream.write(bytes, 0, read);
            }

			// commons-io
            //IOUtils.copy(inputStream, outputStream);

        }

    }

}

2. Apache Commons IO

2.1 FileUtils.copyInputStreamToFile在Apache Commons IO中可用

pom.xml
<dependency>
		<groupId>commons-io</groupId>
		<artifactId>commons-io</artifactId>
		<version>2.6</version>
	</dependency>
InputStreamToFile2.java
package com.mkyong;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;

public class InputStreamToFile2 {

    private static final String FILE_TO = "d:\\download\\google.txt";

    public static void main(String[] args) throws IOException {

        URI u = URI.create("https://www.google.com/");
        try (InputStream inputStream = u.toURL().openStream()) {

            File file = new File(FILE_TO);

			// commons-io
            FileUtils.copyInputStreamToFile(inputStream, file);
        }

    }

}

3. Java 1.7 NIO

3.1如果只想将inputStream保存到某个文件中,请尝试使用Java 1.7 NIO Files.copy

InputStreamToFile3.java
package com.mkyong;

import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;

public class InputStreamToFile3 {

    private static final String FILE_TO = "d:\\download\\google.txt";

    public static void main(String[] args) throws IOException {

        URI u = URI.create("https://www.google.com/");
        try (InputStream inputStream = u.toURL().openStream()) {

			//Java 1.7
            Files.copy(inputStream, Paths.get(FILE_TO));

        }

    }

}

4.旧时光

4.1在过去的Java 1.7之前,我们必须手动关闭所有资源。

InputStreamToFile4.java
package com.mkyong;

import java.io.*;

public class InputStreamToFile4 {

    public static void main(String[] args) {

        InputStream inputStream = null;
        OutputStream outputStream = null;

        try {
            // read this file into InputStream
            inputStream = new FileInputStream("/Users/mkyong/holder.js");

            // write the inputStream to a FileOutputStream
            outputStream = new FileOutputStream(new File("/Users/mkyong/holder-new.js"));

            int read = 0;
            byte[] bytes = new byte[1024];

            while ((read = inputStream.read(bytes)) != -1) {
                outputStream.write(bytes, 0, read);
            }

            System.out.println("Done!");

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (outputStream != null) {
                try {
                    outputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }
    }

}

5.将文件转换为InputStream

这很容易:

File file = new File("d:\\download\\google.txt");
    InputStream inputStream = new FileInputStream(file);

注意
您可能对此String的InputStream感兴趣

参考文献

翻译自: https://mkyong.com/java/how-to-convert-inputstream-to-file-in-java/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190970.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月10日 下午1:22
下一篇 2026年2月10日 下午2:01


相关推荐

  • 爱,该放弃吗_有一种爱叫做放手

    爱,该放弃吗_有一种爱叫做放手爱,绝不是缺了就找,更不是累了就换。   找一个能一起吃苦的,而不是一起享受的   找一个能一起承担的,而不是一起逃避的   找一个能对你负责的,而不是对爱情负责的   爱情是盲目的,生活是现实的   因为爱情只不过是人类为了逃避现实而衍生的产品   为了逃避现实,我寻找爱情   为了寻找爱情,我失去真情   失去了真情,才发现早已身陷虚情.   你以为爱情是什么?   一点点的动心,一点点的冲动

    2026年2月3日
    6
  • 谷歌学术里面的代码查找不到_谷歌学术引用

    谷歌学术里面的代码查找不到_谷歌学术引用谷歌浏览器里面安装FindCodeforResearchPapers插件

    2022年10月11日
    5
  • 正则提取字符串中的数字_正则表达式忽略空格python

    正则提取字符串中的数字_正则表达式忽略空格pythonpython从字符串中提取数字使用正则表达式,用法如下:##总结##^匹配字符串的开始。##$匹配字符串的结尾。##\b匹配一个单词的边界。##\d匹配任意数字。##\D匹配任意非数字字符。##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。##x*匹配0次或者多次x字符。##x+匹配1次或者多次x字符。…

    2022年10月3日
    5
  • Python打包exe文件方法汇总【4种】

    Python打包exe文件方法汇总【4种】title:Python打包exe文件方法copyright:truetop:0date:2018-08-1121:08:21tags:打包categories:Python进阶笔记permalink:password:keywords:description:使用py2exe,pyinstaller,cx_Freeze,nuitka对python文件进行打包,…

    2022年4月29日
    108
  • 寄存器英文全称中文翻译英文对照表

    寄存器英文全称中文翻译英文对照表AH amp AL AX accumulator 累加寄存器 BH amp BL BX base 基址寄存器 CH amp CL CX count 计数寄存器 DH amp DL DX data 数据寄存器 SP StackPointer 堆栈指针寄存器 BP BasePointer 基址指针寄存器 SI SourceIndex 源变址寄存器 DI DestinationI 目的变址寄存器 IP InstructionP 指令指针寄存器 CS CodeSeg

    2026年3月19日
    2
  • (二)边界值分析法

    (二)边界值分析法1 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法 通常边界值分析法是作为对等价类划分法的补充 这种情况下 其测试用例来自等价类的边界 根据大量的测试统计数据 很多错误是发生在输入或输出范围的边界上 而不是发生在输入 输出范围的中间区域 因此针对各种边界情况设计测试用例 可以查出更多的错误 使用边界值分析方法设计测试用例 首先应确定边界情况 通常输入和输出等价类的边界

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号