读取Doc,Excel,PDF,html,生成Txt文件,读取Txt生成Excel文件

分享一个将doc,word,txt,png,Excel转成pdf的代码 摘要:本文分享了一个基于Aspose库的PDF转换工具类PdfUtil,主要实现Word/Excel转PDF功能。该工具类包含许可证验证方法(getLicense/getExcelLicense)和文档转换方法(docToPdf/excelToPdf),通过读取license.xml验证授权,未授权版本会添加水印。使用方法简单,只需注入工具类并调用相应方法,传入源文件路径和目标PDF路径即可完成转换。文中还提供了具体调用示例,包括如何从配置文件读取存储路径,以及转换后的文件信息处理。 阅读详情
 
package office;

/**
 * 读取Doc,Excel,PDF,html,生成Txt文件,读取Txt生成Excel文件
 * @author JavaAlpha
 * @date 2011-8-1
 * @version V 1.0
 */

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.Iterator; import java.util.Map;

import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.rtf.RTFEditorKit;

import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.pdfbox.pdfparser.PDFParser; import org.pdfbox.pdmodel.PDDocument; import org.pdfbox.util.PDFTextStripper; import org.textmining.text.extraction.WordExtractor;

 
public class ReadOffice {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// readDoc("e:/1.doc");
		// readExcel("e:/1.xls");
		// readPDF("e:/1.pdf");
		// readHtml("e:/1.html");
		readHtmlAll("e:/1.html");
	}

	/**
	 * 创建TXT文件,写入文件内容
	 * 
	 * @param text
	 */

	static void createTXTAndWriteDoc(String text, String path) {
		FileOutputStream fos = null;
		FileOutputStream out = null;
		try {
			// 新建一输出文件流,如果文件存在先删除文件
			File f = new File(path);
			if (f.exists()) {
				f.delete();
			}

			fos = new FileOutputStream(f);
			out = new FileOutputStream(f);
			byte[] b = text.getBytes("GB2312");
			out.write(b);
			out.flush();

			System.out.println("文件生成...");
		} catch (Exception e) {
			System.out.println("出现异常: " + e);
		} finally {
			try {
				if (null != fos) {
					fos.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if (null != out) {
					out.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			fos = null;
			out = null;
		}
	}

	/**
	 * 读取DOC文件
	 * 
	 * @param dir
	 * @throws Exception
	 */
	static void readDoc(String dir) {
		// 创建输入流读取doc文件
		FileInputStream in = null;
		WordExtractor extractor = null;
		String text = null;
		try {
			in = new FileInputStream(new File(dir));
			// 创建WordExtractor
			extractor = new WordExtractor();
			// 对doc文件进行提取
			text = extractor.extractText(in);
			System.out.println("text1:" + text);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != in) {
					in.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			in = null;
		}
		// 写入文件内容
		createTXTAndWriteDoc(text, "e:/doc.txt");
	}

	/**
	 * 读取Excel文件
	 * 
	 * @param dir
	 */
	@SuppressWarnings("deprecation")
	static void readExcel(String dir) {
		/**
		 * @param filePath
		 *            文件路径
		 * @return 读出的Excel的内容
		 */
		StringBuffer buff = new StringBuffer();
		try {
			// 创建对Excel工作簿文件的引用
			HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(dir));
			// 创建对工作表的引用。
			for (int numSheets = 0; numSheets < wb.getNumberOfSheets(); numSheets++) {
				if (null != wb.getSheetAt(numSheets)) {
					HSSFSheet aSheet = wb.getSheetAt(numSheets);// 获得一个sheet
					for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++) {
						if (null != aSheet.getRow(rowNumOfSheet)) {
							HSSFRow aRow = aSheet.getRow(rowNumOfSheet); // 获得一个行
							for (int cellNumOfRow = 0; cellNumOfRow <= aRow.getLastCellNum(); cellNumOfRow++) {
								if (null != aRow.getCell((short) cellNumOfRow)) {
									HSSFCell aCell = aRow.getCell((short) cellNumOfRow);// 获得列值
									switch (aCell.getCellType()) {
									case HSSFCell.CELL_TYPE_FORMULA:
										break;
									case HSSFCell.CELL_TYPE_NUMERIC:
										buff.append(aCell.getNumericCellValue()).append(' ');
										break;
									case HSSFCell.CELL_TYPE_STRING:
										buff.append(aCell.getStringCellValue()).append(' ');
										break;
									}
								}
							}
							buff.append(' ');
						}
					}
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 写入文件内容
		createTXTAndWriteDoc(buff.toString(), "e:/excel.txt");
	}

	/**
	 * 读取Powerpoint文件
	 * 
	 * @param dir
	 */
	static void readPPT(String dir) {

	}

	/**
	 * 读取PDF文件
	 * 
	 * @param dir
	 */
	static void readPDF(String dir) {
		String result = null;
		FileInputStream is = null;
		PDDocument document = null;
		try {
			is = new FileInputStream(dir);
			PDFParser parser = new PDFParser(is);
			parser.parse();
			document = parser.getPDDocument();
			PDFTextStripper stripper = new PDFTextStripper();
			result = stripper.getText(document);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != is) {
				try {
					is.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (null != document) {
				try {
					document.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		// 写入文件内容
		createTXTAndWriteDoc(result, "e:/pdf.txt");
	}

	/**
	 * // 读取pdf文件
	 * 
	 * @param file
	 * @throws Exception
	 */
	public void readPdf(String file) throws Exception {
		// 是否排序
		boolean sort = false;
		// pdf文件名
		String pdfFile = file;
		// 输入文本文件名称
		String textFile = null;
		// 编码方式
		String encoding = "GB2312";
		// 开始提取页数
		int startPage = 1;
		// 结束提取页数
		int endPage = Integer.MAX_VALUE;
		// 文件输入流,生成文本文件
		Writer output = null;
		// 内存中存储的PDF Document
		PDDocument document = null;
		try {
			try {
				// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件
				URL url = new URL(pdfFile); // 注意参数已不是以前版本中的URL.而是File。
				document = PDDocument.load(pdfFile);
				// 获取PDF的文件名
				String fileName = url.getFile();
				// 以原来PDF的名称来命名新产生的txt文件
				if (fileName.length() > 4) {
					File outputFile = new File(fileName.substring(0, fileName.length() - 4) + ".txt");
					textFile = outputFile.getName();
				}
			} catch (MalformedURLException e) {
				// 如果作为URL装载得到异常则从文件系统装载 //注意参数已不是以前版本中的URL.而是File。
				document = PDDocument.load(pdfFile);
				if (pdfFile.length() > 4) {
					textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
				}
			}
			// 文件输入流,写入文件倒textFile
			output = new OutputStreamWriter(new FileOutputStream(textFile), encoding);
			// PDFTextStripper来提取文本
			PDFTextStripper stripper = null;
			stripper = new PDFTextStripper();
			// 设置是否排序
			stripper.setSortByPosition(sort);
			// 设置起始页
			stripper.setStartPage(startPage);
			// 设置结束页
			System.out.print(stripper.getText(document));
			stripper.setEndPage(endPage);
			// 调用PDFTextStripper的writeText提取并输出文本
			stripper.writeText(document, output);
		} finally {
			if (output != null) {
				// 关闭输出流
				output.close();
			}
			if (document != null) {
				// 关闭PDF Document
				document.close();
			}
		}
	}

	/**
	 * 读取Txt文件
	 * 
	 * @param filePath
	 * @return
	 * @throws Exception
	 */
	public String getTextFromTxt(String filePath) throws Exception {
		FileReader fr = new FileReader(filePath);
		BufferedReader br = new BufferedReader(fr);
		StringBuffer buff = new StringBuffer();
		String temp = null;
		while ((temp = br.readLine()) != null) {
			buff.append(temp + " ");
		}
		br.close();
		return buff.toString();
	}

	/**
	 * 读取RTF文件内容
	 * 
	 * @param filePath
	 * @return
	 */
	public String getTextFromRtf(String filePath) {
		String result = null;
		File file = new File(filePath);
		try {
			DefaultStyledDocument styledDoc = new DefaultStyledDocument();
			InputStream is = new FileInputStream(file);
			new RTFEditorKit().read(is, styledDoc, 0);
			result = new String(styledDoc.getText(0, styledDoc.getLength()).getBytes("ISO8859_1"));
			// 提取文本,读取中文需要使用ISO8859_1编码,否则会出现乱码
		} catch (IOException e) {
			e.printStackTrace();
		} catch (BadLocationException e) {
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * @param filePath
	 *            文件路径
	 * @return 获得html的全部内容
	 */

	public static String readHtml(String filePath) {
		BufferedReader br = null;
		StringBuffer sb = new StringBuffer();
		try {
			br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "GB2312"));
			String temp = null;
			while ((temp = br.readLine()) != null) {
				sb.append(temp);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 写入文件内容
		createTXTAndWriteDoc(sb.toString(), "e:/html.txt");
		return sb.toString();
	}

	/**
	 * @param filePath
	 *            文件路径
	 * @return 获得的html文本内容
	 */
	public static void readHtmlAll(String filePath) {
		// 得到body标签中的内容
		String str = readHtml(filePath);
		StringBuffer buff = new StringBuffer();
		int maxindex = str.length() - 1;
		int begin = 0;
		int end;
		// 截取>和<之间的内容
		while ((begin = str.indexOf('>', begin)) < maxindex) {
			end = str.indexOf('<', begin);
			if (end - begin > 1) {
				buff.append(str.substring(++begin, end));
			}
			begin = end + 1;
		}
		// 写入文件内容
		createTXTAndWriteDoc(buff.toString(), "e:/htmlAll.txt");
		//return buff.toString();
	}

	/**
	 * 以行为单位读取文件(文本文件)
	 * 
	 * @param filePath
	 */
	public static void readFileByLine(String filePath) {
		File file = new File(filePath);
		BufferedReader bd = null;
		Map<String, String> str = new HashMap<String, String>();
		String s1 = "";
		String s2 = "";

		try {
			bd = new BufferedReader(new InputStreamReader(new FileInputStream(file), "gb2312"));// 编码转换(关键的地方)

			String temp = "";
			int line = 1;
			while ((temp = bd.readLine()) != null) {
				if (temp.length() > 0) {
					s1 = temp.substring(0, 3);
					s1 = s1.trim();
					s2 = temp.substring(4);
					s2 = s2.trim();
					str.put(s1, s2);
				}
				++line;
			}
			createExcel(str);

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

	/**
	 * 输出Excel文件,输出格式为多行两列
	 * 
	 * @param map
	 */
	@SuppressWarnings( { "deprecation", "unchecked" })
	static void createExcel(Map<String, String> map) {
		try {
			// 新建一输出文件流
			FileOutputStream fOut = new FileOutputStream("e:/2.xls");
			File file = new File("e:/2.xls");
			if (file.exists()) {
				file.delete();
			}
			// 创建新的Excel 工作簿
			HSSFWorkbook workbook = new HSSFWorkbook();
			// 在Excel工作簿中建一工作表,其名为缺省值
			// 如要新建一名为"联系人用户名和电话"的工作表,其语句为:
			HSSFSheet sheet = workbook.createSheet("联系人用户名和电话");
			HSSFRow row = null;
			// 在索引0的位置创建单元格(左上端)
			HSSFCell cell1 = null;
			HSSFCell cell2 = null;

			Iterator iter = map.entrySet().iterator();
			int i = 0;

			while (iter.hasNext()) {
				Map.Entry entry = (Map.Entry) iter.next();
				Object key = entry.getKey();
				Object val = entry.getValue();
				row = sheet.createRow((short) i++);
				cell1 = row.createCell((short) 0);
				cell2 = row.createCell((short) 1);
				// 定义单元格为字符串类型
				cell1.setCellType(HSSFCell.CELL_TYPE_STRING);
				cell2.setCellType(HSSFCell.CELL_TYPE_STRING);

				// 在单元格中输入一些内容
				cell1.setCellValue(key.toString());
				cell2.setCellValue(val.toString());

				if (i > 255) {
					break;
				}
			}

			// 把相应的Excel 工作簿存盘
			workbook.write(fOut);
			fOut.flush();
			// 操作结束,关闭文件
			fOut.close();
			System.out.println("文件生成...");

		} catch (Exception e) {
			System.out.println("出现异常: " + e);
		}
	}
}

python爬取各类文档方法归类小结 HTML文档是互联网上的主要文档类型,但还存在如TXT、WORD、Excel、PDF、csv等多种类型的文档。网络爬虫不仅需要能够抓取HTML中的敏感信息,也需要有抓取其他类型文档的能力。下面简要记录一些个人遇到的抓取方法,以备查阅。 抓取TXT文档 在python3下,常用方法是使用urllib.request.urlopen方法直接获取。之后利用正则表达式等方式进行敏感词检索。 阅读详情

相关推荐

用html+javascript读写txt文件

用html+javascript读出写入txt文件

java-poi3.17读取word文本及图片

package per.qy.dexter.fileoperate; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java....

DexterQY的博客 7061

以太网物理层协议整理(2)-万兆以太网

在万兆以太网标准化过程中,IEEE和10GEA(万兆以太网联盟)是两个最重要的组织。 万兆以太网标准和规范都比较繁多,在标准方面,首先有2002年的IEEE 802.3ae,后来也不断有新的万兆以太网规范推出,如2006年的IEEE 802.3an标准(10GBase-T)就推出了基于双绞铜线的万兆以太网规范,同样的IEEE 802.3aq标准推出了基于光纤的10GBase-LRM;2007年的

NowOrNever 3万+

html中的js获取txt文件中的文字显示在html页面中

html中的js获取txt文件中的文字显示在html页面中。

宁夏前端工程师,马卫斌,wx:1457508895 4833

Oracle数据库安装及配置(Oracle19c)

Windows 10安装Oracle 19c教程

weixin_69200200的博客 2万+

手把手教你用NetToPLCsim搭建西门子S7-1200仿真环境(附避坑指南)

本文详细指导如何利用NetToPLCsim与PLCSIM搭建西门子S7-1200仿真环境,实现无硬件条件下的PLC程序测试与上位机通信开发。内容涵盖软件选型、环境部署、关键参数配置及通信测试,并重点提供了连接失败、数据读写错误等常见问题的深度避坑指南,帮助工程师高效构建可靠的虚拟调试工作流。

a3b4c5的博客 616

html显示doc内容,doc文件怎么打开?doc是什么文件?

doc是一种文档格式,一般用Microsoft Word打开。.doc,是电脑文件常见扩展名的一种。该格式原是纯文字文件使用的,多见于不同的操作系统中,软硬件的使用说明。至1990年代,微软在文字处理软件Word中,使用了.doc作为扩展名,并成为流行的格式,而前者的纯文字式已几近绝迹。微软的“doc”格式是一种自己的专属格式,其档案可容纳更多文字格式、脚本语言及复原等资讯,比其他的文件档格式如R...

weixin_34886431的博客 3713

转子动力学 | 临界速度与稳定性分析

本文深入探讨了转子动力学中的核心问题——临界速度与稳定性分析。临界速度是旋转机械发生共振的危险转速,通过模态分析和坎贝尔图可进行预测。文章还剖析了油膜涡动等稳定性问题,并结合ANSYS仿真案例,详细阐述了从建模、分析到设计优化的完整工程实践流程,为旋转机械的可靠设计与安全运行提供关键指导。

weixin_29313239的博客 518

TDC----实现静态页面的动态操作(HTML直接调用TXT文本文件)

【摘要】TDC是Internet Explorer 4.0及以上版本提供的一个组件,它以有界定符文本文件作为数据来源,利用缓冲机制,在本地机实现对数据的动态控制,并支持Recordset集的属性和方法。如果将TDC数据绑定到WEB页面的HTML元素,可以不依赖ASP、CGI等服务器端处理逻辑,实现用户与页面的动态交互,减少动态网页对服务器的依赖程度,减轻服务器的压力和缓解网络拥挤。 【关键字】

jhlxge的专栏 1698

高光谱知识(1)-高光谱成像技术的理解

系列文章目录 高光谱技术可以获得待观测目标或场景的连续单色光谱图像,并通过空间维(x, y)数据和光谱维(λ)数据共同组成三维观测数据立方体,从而为研究人员提供探测目标或场景中的每一个点的空间和光谱特征细节。这种兼具相机的高分辨成像能力和光谱仪的高光谱分辨能力使得高光谱被广泛应用于测绘遥感、目标识别、环境监测与评估、临床影像诊断、过程监控等任务中,并在地理、空间、海洋、气候、大气、农业、植被、生态、医药、安防、制造与色度等多个领域中发挥巨大作用。 文章目录系列文章目录前言一、按获取数据的过程划分二、按照光

Echo_Code的博客 1万+

KUKA机器人与S7-1200 PLC实现Profinet通讯配置步骤详解

在工业自动化产线中,PLC与工业机器人之间的高效数据交换是控制逻辑落地的关键。传统硬接线方案在信号点多时布线复杂、故障排查困难,而现场总线技术通过一根网线即可实现主从设备间的周期通讯。Profinet作为主流工业以太网协议,由S7-1200作为IO Controller主站,KUKA机器人作为IO Device从站,在WorkVisual与TIA Portal中完成设备组态、I/O映射及信号分配,即可替代成捆电缆,稳定传输启停、状态及报警信号。这一方案适用于汽车、3C、物流等行业的自动化产线,尤其适合需要扩

weixin_42519985的博客 251

在html语言中读取txt文件中的内容,Javascript写入txt和读取txt文件示例详解

1. 写入FileSystemObject可以将文件翻译成文件流。第一步:例:代码如下:Var fso=new ActiveXObject(Scripting.FileSystemObject);创建一个可以将文件翻译成文件流的对象。第二步:用于创建一个textStream 对象括号里边有三个属性1. 文件的绝对路径2. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading ...

weixin_28933027的博客 6602

[深度学习] 从 originbot 到 origincar

原来,OriginBot的摄像头是MIPI模式,而OriginCar的摄像头是USB摄像头,也就是imageWidth 是0~959,超过了范围640。origincar在执行以下命令部署模型时。

chdlr的博客 2386

java读取txt生成excel_读取Doc,Excel,PDF,html,生成Txt文件,读取Txt生成Excel文件

package office;/*** 读取Doc,Excel,PDF,html,生成Txt文件,读取Txt生成Excel文件* @author JavaAlpha* @date 2011-8-1* @version V 1.0*/import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;imp...

weixin_39911567的博客 226

如何在Ubuntu 22.04上为AlphaFold3配置NVIDIA A100 GPU(含驱动安装避坑指南)

本文提供了在Ubuntu 22.04系统上为AlphaFold3部署NVIDIA A100 GPU的完整安装教程。内容涵盖从系统环境准备、NVIDIA驱动安装与避坑指南,到Docker容器化部署、数据库获取以及最终构建运行AlphaFold3的详细步骤,旨在帮助研究者和开发者高效配置高性能计算环境,充分发挥A100的硬件潜力。

nft7creator的博客 468

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

txt doc rtf html,JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例.docx

JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例??2012-06-29 17:13:08|??分类:JAVA |??标签: |字号大中小?订阅以下是Java对几种文本文件内容读取代码。其中,OFFICE文档(WORD,EXCEL)使用了POI控件,PDF使用了PDFBO...

weixin_35343148的博客 247

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例

以下是Java对几种文本文件内容读取代码。其中,OFFICE文档(WORD,EXCEL)使用了POI控件,PDF使用了PDFBOX控件。   点击这里 查看相关控件的下载地址和配置方法。 [java] view plaincopy  WORD       Java代码    package textReader;       imp

keleguohn的专栏 2174

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例 .

WORD Java代码  package textReader;    import java.io.*;    import org.apache.poi.hwpf.extractor.WordExtractor;       public class WordReader {        public WordReader(){

wy562530802的专栏 1244

java实现爬虫技术,读取txt,word,excel,ppt,pdf,html等格式的文件

最近跟我同事一起做的项目要求读取txt,word,excel,ppt,pdf,html中的内容,不多说,先把代码贴出来,之后有时间再来做详细的解读。 这是读取txt文件 [html] view plain copy /**        * 获取txt的文件内容 新建的默认格式 ,其它三种格式会乱码        *         * @p

u010463032的博客 570

C# winfrom 写的一个搜索助手,可以按照标题和内容搜索,支持doc,xls,ppt,pdf,txt等格式的文件搜索...

C# winfrom 写的一个搜索助手,可以按照标题和内容搜索,指定目录后,遍历搜索文件和子目,现在只写了支持.DOC.DOCX.XLS.XLSX.PPT.PPTX.PDF.HTML.HTM.TXT等格式的文件搜索,读取execl 内容使用的是NPOI组件,doc,html,txt 格式的使用StreamReader 流文件读取方式,ppt,pdf使用的Spire组件。 直接上代码 ...

weixin_30284355的博客 404

excel,word,txt,img,pdf,转html

文本,图片,pdf,excel,word转html

zhaomeng's Blog 1073
上一篇: 读取TXT文件内容,生成Excel文件
下一篇: ITF跆拳道考试内容
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值