java读写文件是以IO流的形式。具体过程为:
首先使用File类表示该文件。File为抽象表示文件目录概念的类。也就是在java中,想表示一个文件,构造一个File对象即可。 File类提供了文件和目录的一些基本操作,比如创建,删除等。
File file = new File(filepath);
然后定义输入流类 FileInputStream。该类对文件类(File)数据以字节流的形式进行读取或者写入操作。
FileInputStream fils = new FileInputStream(file);
用处理Excel或者word的类可以读取字节流生成对象。
// Excelsheet workbook对象
XSSFWorkbook wb = new XSSFWorkbook(fis);
// document 对象
XWPFDocument doc = new XWPFDocument(fis)
两种都是树状结构文本的根部对象。可以使用各种方法对文本内容进行处理
比如下面的workbook代码可以获取第一个sheet的第一个单元格中的富文本字符串的格式中,是否有添加删除线的格式
// workbook获取第一个sheet中第一个单元格的内容
// sheet类XSSFSheet
XSSFSheet sheet = wb.getSheetAt(0);
// row类XSSFRow
XSSFRow row = sheet.getRow(0);
// cell类XSSFCell
XSSFCell cell = row.getCell(0);
// cell类的方法获取其中的字符串
String value = cell.getStringCellValue();
// cell类的方法获取其中的富文本字符串(XSSFRichTextString类)
XSSFRichTextString richValue = cell.getRichStringCellValue();
// 获取字符串位置索引i处的富文本的格式(XSSFFont类)
XSSFFont font = richValue.getFontAtIndex(i)
// 判断位置i处的格式是否为加删除线格式
boolean strike = font.getStrikeout()
同样如对于word格式,可以获取word文件中所有段落:
// document获取所有段落
List<XWPFParagraph> paragraphs = doc.getParagraphs();