XML文件的实现,Indexof的使用

找了一个样例程序,可以实现XML文档的创建、保存、读取、修改、删除。

正好可以作为串行端口参数的保存文件,只是这管理的静态变量太多,尤其是在XML控制项目里

以后再修改吧。

Indexof命令的使用没费什么事情,只是在调用这个指令时有了点麻烦,好在通过单步走程序,查看变量属性和参数

一步步修改合理了。

Indexof 和lastIndexof

采用面对过程的设计思路一时半会还不太适应,慢慢来就好 了,这也是导致静态变量过多的一个原因吧

定义一个类,里面有变量、属性、方法、过程,哦对了,变量应该叫属性吧

这一套下来,主程序调用的时候,脑子里面还是需要慢慢画画圈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是Java代码实现上传xml或excel文件生成建表语句的示例: ``` import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class TableGenerator { public static void main(String[] args) throws Exception { String filePath = "path/to/file.xlsx"; // 文件路径 String tableName = "table_name"; // 表名 String[] columnTypes = {"varchar(255)", "int", "decimal(10,2)"}; // 列类型,按顺序对应列 String sql = generateTableSql(filePath, tableName, columnTypes); System.out.println(sql); } /** * 生成建表语句 * @param filePath 文件路径 * @param tableName 表名 * @param columnTypes 列类型,按顺序对应列 * @return * @throws Exception */ public static String generateTableSql(String filePath, String tableName, String[] columnTypes) throws Exception { String fileType = getFileType(filePath); if ("xls".equals(fileType) || "xlsx".equals(fileType)) { // excel文件 return generateTableSqlFromExcel(filePath, tableName, columnTypes); } else if ("xml".equals(fileType)) { // xml文件 return generateTableSqlFromXml(filePath, tableName, columnTypes); } else { throw new Exception("文件类型不支持"); } } /** * 获取文件类型 * @param filePath * @return */ public static String getFileType(String filePath) { int index = filePath.lastIndexOf("."); if (index != -1) { return filePath.substring(index + 1); } else { return ""; } } /** * 从Excel文件生成建表语句 * @param filePath * @param tableName * @param columnTypes * @return * @throws Exception */ public static String generateTableSqlFromExcel(String filePath, String tableName, String[] columnTypes) throws Exception { StringBuilder sb = new StringBuilder(); sb.append("CREATE TABLE ").append(tableName).append(" ("); InputStream inputStream = new FileInputStream(new File(filePath)); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); Iterator<Row> rowIterator = sheet.iterator(); boolean firstRow = true; while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); if (firstRow) { // 第一行为列名 while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); sb.append(cell.getStringCellValue()).append(" ").append(columnTypes[cell.getColumnIndex()]).append(", "); } sb.delete(sb.length() - 2, sb.length()); // 去除最后一个逗号和空格 sb.append(")"); firstRow = false; } else { // 其他行为数据 sb.append("("); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); String cellValue; if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) { cellValue = String.valueOf(cell.getNumericCellValue()); } else { cellValue = cell.getStringCellValue(); } sb.append("'").append(cellValue).append("', "); } sb.delete(sb.length() - 2, sb.length()); // 去除最后一个逗号和空格 sb.append("), "); } } sb.delete(sb.length() - 2, sb.length()); // 去除最后一个逗号和空格 return sb.toString(); } /** * 从XML文件生成建表语句 * @param filePath * @param tableName * @param columnTypes * @return */ public static String generateTableSqlFromXml(String filePath, String tableName, String[] columnTypes) { // TODO: 实现XML文件生成建表语句的逻辑 return null; } } ``` 上面的代码使用了Apache POI库来读取Excel文件。对于XML文件的处理,需要根据具体情况进行实现
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值