笑傲Java面试:面霸修炼手册
2021-03-23 21:25
976 查看
笑傲Java面试:面霸修炼手册
V:ititit111222333
package com.tarzan.recommend.Service; import com.tarzan.recommend.dto.ItemDTO; import com.tarzan.recommend.dto.RelateDTO; import com.tarzan.recommend.dto.UserDTO; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.assertj.core.util.Lists; import org.springframework.util.ResourceUtils; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.List; @Data @Slf4j public class FileDataSource { public final static String folderPath="F:\\ml-100k"; /** * 方法描述: 读取基础数据 * * @param * @Return {@link List< RelateDTO>} * @throws * @author tarzan * @date 2020年07月31日 16:53:40 */ public static List<RelateDTO> getData() { List<RelateDTO> relateList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.data"); InputStreamReader reader = new InputStreamReader(out, StandardCharsets.UTF_8); BufferedReader in = new BufferedReader(reader); String line = null; while ((line = in.readLine()) != null) { String newline = line.replaceAll("[\t]", " "); String[] ht = newline.split(" "); Integer userId = Integer.parseInt(ht[0]); Integer movieId = Integer.parseInt(ht[1]); Integer rating = Integer.parseInt(ht[2]); RelateDTO dto = new RelateDTO(userId, movieId, rating); relateList.add(dto); } } catch (IOException e) { log.error(e.getMessage()); } return relateList; } /** * 方法描述: 读取用户数据 * * @param * @Return {@link List< UserDTO>} * @throws * @author tarzan * @date 2020年07月31日 16:54:51 */ public static List<UserDTO> getUserData() { List<UserDTO> userList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.user"); InputStreamReader reader = new InputStreamReader(out, StandardCharsets.UTF_8); BufferedReader in = new BufferedReader(reader); String line = null; while ((line = in.readLine()) != null) { String newline = line.replaceAll("[\t]", " "); String[] ht = newline.split("\\|"); Integer id = Integer.parseInt(ht[0]); Integer age = Integer.parseInt(ht[1]); String sex = ht[2]; String profession = ht[3]; String postcode = ht[4]; UserDTO dto = new UserDTO(id, age, sex, profession, postcode); userList.add(dto); } } catch (IOException e) { log.error(e.getMessage()); } return userList; } /** * 方法描述: 读取电影数据 * * @param * @Return {@link List< ItemDTO>} * @throws * @author tarzan * @date 2020年07月31日 16:54:22 */ public static List<ItemDTO> getItemData() { List<ItemDTO> itemList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.item"); InputStreamReader reader = new InputStreamReader(out, StandardCharsets.UTF_8); BufferedReader in = new BufferedReader(reader); String line = null; while ((line = in.readLine()) != null) { String newline = line.replaceAll("[\t]", " "); String[] ht = newline.split("\\|"); Integer id = Integer.parseInt(ht[0]); String name = ht[1]; String date = ht[2]; String link = ht[3]; ItemDTO dto = new ItemDTO(id, name, date, link); itemList.add(dto); } } catch (IOException e) { log.error(e.getMessage()); } return itemList; } }
相关文章推荐
- 学习笔记(01):Java小白修炼手册-工欲善其事必先利其器,掌握Java开发工具
- 学习笔记(10):Java小白修炼手册-面向对象编程之父子关系论继承
- 学习笔记(07):Java小白修炼手册-触类旁通,和Java谈一场恋爱
- 腾讯T4架构师复盘大厂内部最全面 5000 页 Java 技术栈面试手册
- 学习笔记(05):Java小白修炼手册-基础语法:从零开始学Java(二)
- 学习笔记(01):Java小白修炼手册-Java数据如何存取,论道Java数据类型
- 学习笔记(01):Java小白修炼手册-面向对象编程之接口逻辑与应用
- 学习笔记(04):Java小白修炼手册-Java霸主之争:谈谈行业前景与趋势
- 学习笔记(09):Java小白修炼手册-面向对象编程之接口逻辑与应用
- Java小白修炼手册--第二阶段 Java SE--File、RandomAccessFile
- 学习笔记(01):Java小白修炼手册-不会不行!开发中99.9%会用到的数组
- Java小白修炼手册--第二阶段Java SE--Object 与 包装类
- 学习笔记(05):Java小白修炼手册-基础语法:从零开始学Java(二)
- 学习笔记(02):Java小白修炼手册-不会不行!开发中99.9%会用到的数组
- 【郭林专刊】Java最新面试手册——共享
- 学习笔记(04):Java小白修炼手册-面向对象编程之父子关系论继承
- 学习笔记(07):Java小白修炼手册-Java流程控制,编程逻辑加油站(二)
- 学习笔记(04):Java小白修炼手册-工欲善其事必先利其器,掌握Java开发工具
- Java小白修炼手册--锻体期--第二阶段:Java SE 核心API
- 学习笔记(03):Java小白修炼手册-基础语法:从零开始学Java(一)