【Stackoverflow好问题】将InputStream转换为String

本文介绍了一种利用Apache commons IOUtils简化InputStream到字符串转换的方法,并提供了一种不依赖Apache库的替代方案。
不重复造轮子。最靠谱的方法,还是用 Apache commons   IOUtils  
这样简单几行代码就搞定了
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();
或者
String theString = IOUtils.toString(inputStream, encoding)//这个方法其实封装了上面的方法,减少了一个参数

如果不想引入Apache库,也可以这样做
static String convertStreamToString(java.io.InputStream is) {
    java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
    return s.hasNext() ? s.next() : "";}

stackoverflow讨论地址
http://stackoverflow.com/questions/309424/read-convert-an-inputstream-to-a-string

专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删和个人风格的润色,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址

import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter; import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import com.lowagie.text.Document; import com.lowagie.text.pdf.PdfCopy; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfWriter; import java.io.*; import java.util.List; public class DocxToPdfConverter { public static void main(String[] args) { try { String inputFilePath = "src/main/resources/立项及安全需求文档 (9).docx"; String outputFilePath = "src/main/resources/立项及安全需求文档.pdf"; convertWordToPdf(inputFilePath, outputFilePath); } catch (Exception e) { e.printStackTrace(); } } public static void convertWordToPdf(String inputFilePath, String outputFilePath) { try (FileInputStream fis = new FileInputStream(inputFilePath); FileOutputStream fos = new FileOutputStream(outputFilePath)) { // 检查输入文件是否存在 File inputFile = new File(inputFilePath); if (!inputFile.exists()) { throw new IOException("Input file does not exist: " + inputFilePath); } // 读取 DOCX 文件 XWPFDocument document = new XWPFDocument(fis); // 创建 PDF 转换选项 PdfOptions options = PdfOptions.create(); // 执行转换 PdfConverter.getInstance().convert(document, fos, options); System.out.println("Conversion completed successfully."); } catch (IOException e) { System.err.println("IO error occurred: " + e.getMessage()); e.printStackTrace(); } catch (fr.opensagres.poi.xwpf.converter.core.XWPFConverterException e) { System.err.println("Conversion error occurred: " + e.getMessage()); e.printStackTrace(); } } } 这个程序如何修改
10-10
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值