java字符串转换成字节流

  • public class StreamFromString {  
  •       
  •     static String src = "今天的天气真的不好";  
  •     public static void main(String[] args) throws IOException {  
  •           
  •         byte[] buff = new byte[1024];  
  •         //从字符串获取字节写入流  
  •         InputStream is = new ByteArrayInputStream(src.getBytes("utf-8"));  
  •         int len = -1;  
  •         while(-1 != (len = is.read(buff))) {  
  •             //将字节数组转换为字符串  
  •             String res = new String(buff, 0, len);  
  •             System.out.println(res);  
  •         }  
  •     }  
  • }

    文本文件里字节流的长度即为文件的长度:

                 String src = "今天的天气真的不好";
                 int k = 0;
                 InputStream in = new ByteArrayInputStream(src.getBytes("GBK"));
                 File f = new File("G:\\test.txt");
                 int l = (int)f.length();
                 System.out.println("字符串的长度"+src.length());
                 System.out.println("文件长度"+l);
                 try {
                    while(in.read()!=-1)
                         k++;
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                 System.out.print("字节流长度"+k);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用开源的第三方库iText进行HTMLPDF的操作,具体步骤如下: 1. 在项目中引入iText库,可以通过Maven或Gradle等构建工具进行引入。 2. 创建一个Document对象,并设置其相关属性,如页面大小、页面边距等。 ``` Document document = new Document(PageSize.A4, 50, 50, 50, 50); ``` 3. 创建一个PdfWriter对象,将Document对象和输出绑定在一起。 ``` ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, outputStream); ``` 4. 打开Document对象,并将HTML字符串转换成Element对象,插入到Document对象中。 ``` document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); htmlWorker.parse(new StringReader(htmlString)); ``` 5. 关闭Document对象和PdfWriter对象,并将输出中的内容转换成字节数组。 ``` document.close(); writer.close(); byte[] pdfBytes = outputStream.toByteArray(); ``` 完整代码示例: ``` import com.itextpdf.text.Document; import com.itextpdf.text.PageSize; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.html.simpleparser.HTMLWorker; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.StringReader; public class HtmlToPdfConverter { public static byte[] convertToPdf(String htmlString) throws IOException { Document document = new Document(PageSize.A4, 50, 50, 50, 50); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); htmlWorker.parse(new StringReader(htmlString)); document.close(); writer.close(); return outputStream.toByteArray(); } } ``` 使用示例: ``` String htmlString = "<html><body><h1>Hello, World!</h1></body></html>"; byte[] pdfBytes = HtmlToPdfConverter.convertToPdf(htmlString); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值