private void readManagerInfo() { //按行读取文本信息 List<String> ManagerInfoStrList = FileUtil.readUtf8Lines("NetParManageSystem\\DataTxt\\ManagerTab.txt"); //遍历集合获取信息 //MID=001&MName=韦力诚&MPersonID=450121200308061111&phone=13014981111&MPassword=11111111&MQQ=320641111 for (String str : ManagerInfoStrList) { String[] MInfoArr = str.split("&");//进行&符号切割 String[] arr0 = MInfoArr[0].split("=");//MID String[] arr1 = MInfoArr[1].split("=");//MName String[] arr2 = MInfoArr[2].split("=");//MPersonID String[] arr3 = MInfoArr[3].split("=");//phone String[] arr4 = MInfoArr[4].split("=");//MPassword String[] arr5 = MInfoArr[5].split("=");//MQQ char[] pw = arr4[1].toCharArray();//密码转换为char[] //封装信息 Manager m = new Manager(arr0[1], arr1[1], arr2[1], arr3[1], pw, arr5[1]); allManager.add(m);//将信息存入数组 } }
时间: 2024-03-19 13:40:45 浏览: 65
这段代码是一个 Java 方法,用于读取文本文件中的信息并封装为一个 Manager 对象,并将其存入一个 ArrayList 中。具体过程如下:
1. 调用 FileUtil 工具类的 readUtf8Lines 方法按行读取文本信息,并将其存入 List<String> 类型的变量 ManagerInfoStrList 中。
2. 遍历 ManagerInfoStrList 集合,对于其中的每一行信息,使用 split 方法以 & 符号为分隔符进行切割,并将切割后的结果存入一个 String 类型的数组 MInfoArr 中。
3. 对于 MInfoArr 数组中的每一个元素,再次使用 split 方法以 = 符号为分隔符进行切割,并将切割后的结果存入对应的 String 数组中。
4. 将密码信息转换为 char[] 类型,并使用 Manager 类的构造方法将所有信息封装为一个 Manager 对象。
5. 将 Manager 对象存入 allManager 集合中。
需要注意的是,如果 ManagerInfoStrList 中的每一行信息不符合特定的格式(如缺少某个字段或字段顺序不对),则可能会导致程序出现异常。此外,如果文本文件不存在或者读取权限不足,也会导致程序出现异常。
相关问题
@Controller @RequestMapping("/file") public class FileController extends BaseController { /** * 文件上传 */ @RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public JsonResult upload(@RequestParam("file")MultipartFile file, @RequestParam("key")String key, HttpSession session){ Map<String,String> map = new HashMap<>(); try { map = FileUtil.upload(file); } catch (Exception e) { e.printStackTrace(); return JsonResult.error("上传失败"); } String filePath = map.get("filePath"); //将图片URL存在session中 String sessionKey = Constant.SESSION_IMG_PREFIX + key; List<String> imgList = (List<String>) session.getAttribute(sessionKey); if(imgList == null){ imgList = new ArrayList<>(); } imgList.add(filePath); session.setAttribute(sessionKey,imgList); return JsonResult.success("上传成功"); } }
这段代码是一个 Java Spring MVC 的控制器,用于处理文件上传的请求。该控制器对应的请求 URL 是 "/file/upload",请求方法为 POST。在请求参数中,有一个名为 "file" 的文件参数和一个名为 "key" 的字符串参数。其中,"file" 参数用于上传文件,"key" 参数用于标识上传的文件类型。在文件上传成功后,该控制器将文件路径存储在 HttpSession 中,以便后续处理。同时,该控制器返回一个 JsonResult 对象,其中包含上传结果的信息。
那设置了过后如何使用到以下代码中呢: List<YqjgErZzsjZhbExcelEntity> list = new ArrayList<>(); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("油气加工二大队装置数据综合报","sheet1"), YqjgErZzsjZhbExcelEntity.class, list); String fileName ="模板信息表导出.xlsx"; FileUtil.downLoadExcel(fileName,response,workbook);
当您通过反射的方式为 YqjgErZzsjZhbExcelEntity 中的 @Excel 注解的 orderNum 属性赋值后,可以直接使用原有的代码进行 Excel 导出:
```
List<YqjgErZzsjZhbExcelEntity> list = new ArrayList<>();
// 设置 @Excel 注解的 orderNum 属性值的代码,可以放在此处
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("油气加工二大队装置数据综合报","sheet1"), YqjgErZzsjZhbExcelEntity.class, list);
String fileName ="模板信息表导出.xlsx";
FileUtil.downLoadExcel(fileName, response, workbook);
```
在运行代码前,您只需要添加设置 @Excel 注解的 orderNum 属性值的代码即可。这些代码会在 Workbook 导出时自动生效,Excel 表格中的顺序和编号即按照您所设置的值进行导出。
阅读全文