如何使用Java中的调用存储库保存txt文件中的每行数据 @Autowired 毗拉,毗拉; @自动连线 PilahService PilahService; @自动连线 私有SecurityContext SecurityContext; @RequestMapping(value=“/pilahFile”,method=RequestMethod.POST) 公共PilahFile PilahFile(){ 字符串名称文件[]=pilahService.findFileName(); 扫描仪sc; 字符串目的地; BigInteger userExecutor=securityContext.userId(); PilahFile pilah=新的PilahFile(); 试一试{ 文件源=新文件(“D:/Kerja/txt/”; destination=“D:/Kerja/hasil/”; 缓冲写入文件; 日期现在; 字符串prev=null,curr=null,next=null; 对于(文件:source.listFiles()){ sc=新扫描仪(文件); now=DateUtils.now(); while(sc.hasNextLine()){ 上一次=当前; curr=next; next=sc.nextLine(); 对于(int i=0;i
你好,我是java spring boot的新手。请帮帮我。如何使用Java中的调用存储库保存txt文件中的每行数据 @Autowired 毗拉,毗拉; @自动连线 PilahService PilahService; @自动连线 私有SecurityContext SecurityContext; @RequestMapping(value=“/pilahFile”,method=RequestMethod.POST) 公共PilahFile PilahFile(){ 字符串名称文件[]=pilahService.findFileName(); 扫描仪sc; 字符串目的地; BigInteger userExecutor=securityContext.userId(); PilahFile pilah=新的PilahFile(); 试一试{ 文件源=新文件(“D:/Kerja/txt/”; destination=“D:/Kerja/hasil/”; 缓冲写入文件; 日期现在; 字符串prev=null,curr=null,next=null; 对于(文件:source.listFiles()){ sc=新扫描仪(文件); now=DateUtils.now(); while(sc.hasNextLine()){ 上一次=当前; curr=next; next=sc.nextLine(); 对于(int i=0;i,java,spring,file,spring-repositories,Java,Spring,File,Spring Repositories,你好,我是java spring boot的新手。请帮帮我。 在我的控制器中,我调用存储库(repoPilah)来保存每个循环(while)的数据,但它只是保存txt文件的最后一行。我不知道为什么,但当我打印每个数据获取(pilah)对象时,我可以获取每行数据。感谢您的关注您必须为每个条目在循环内创建pilah对象 @Autowired PilahRepository repoPilah; @Autowired PilahService pilahService; @Autowired pr
在我的控制器中,我调用存储库(repoPilah)来保存每个循环(while)的数据,但它只是保存txt文件的最后一行。我不知道为什么,但当我打印每个数据获取(pilah)对象时,我可以获取每行数据。感谢您的关注您必须为每个条目在循环内创建pilah对象
@Autowired
PilahRepository repoPilah;
@Autowired
PilahService pilahService;
@Autowired
private SecurityContext securityContext;
@RequestMapping(value = "/pilahFile", method = RequestMethod.POST)
public PilahFile pilahFIle() {
String nameFile[] = pilahService.findFileName();
Scanner sc;
String destination;
BigInteger userExecutor = securityContext.userId();
PilahFile pilah = new PilahFile();
try {
File source = new File("D:/Kerja/txt/");
destination = "D:/Kerja/hasil/";
BufferedWriter writeFile;
Date now;
String prev = null, curr = null, next = null;
for (File file : source.listFiles()) {
sc = new Scanner(file);
now = DateUtils.now();
while (sc.hasNextLine()) {
prev = curr;
curr = next;
next = sc.nextLine();
for (int i = 0; i < nameFile.length; i++) {
if (StringUtils.containsIgnoreCase(nameFile[i].trim(),
next.substring(767).trim())) {
System.out.println("file name exist");
writeFile = new BufferedWriter(
new FileWriter(destination.concat(nameFile[i]).trim(), true));
writeFile.write(next);
writeFile.newLine();
writeFile.flush();
pilah.setCreatedBy(userExecutor);
pilah.setCreationDate(now);
pilah.setFlag('Y');
pilah.setFileName(nameFile[i]);
System.out.println(pilah.getFileName());
pilah.setLocationDir(destination);
pilah.setCardId(next.substring(1, 51).trim());
System.out.println(pilah.getCardId());
pilah.setOwner(next.substring(52, 102).trim());
System.out.println(pilah.getOwner());
System.out.println(pilah.toString());
repoPilah.save(pilah);
} else {
System.out.println("Invalid file name");
}
}
}
sc.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return pilah;
}
每次保存时,将其移动到循环中以创建新对象
PilahFile pilah = new PilahFile();