📄 d031c8cd0f0a001e14e7ca75feedea53
字号:
package com.qrsx.storage.view;
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.ArrayList;
import java.util.List;
import com.qrsx.storage.manager.DBConnection;
import com.qrsx.storage.manager.MaterialManager;
import com.qrsx.storage.model.Material;
/**
* @author Administrator
*
*/
public class MaterialImport {
private MaterialManager materialManager;
private String filePath;
DBConnection jdbc=new DBConnection();
/**
* 构造方法,初始化 materialManager
* @param mgr
*/
public MaterialImport( MaterialManager mgr, String filePath ){
this.materialManager = mgr;
this.filePath = filePath;
}
public void importMaterial() throws Exception{
//读取文件内容
StringBuffer content = readFile();
//解析文件内容
List<Material> materials = parseFileToMaterial(content.toString());
//导入数据库
materialManager.addAll(materials);
}
/**
* 读取文件中的数据
* @param filePath
* @return
*/
private StringBuffer readFile( ) throws Exception {
//实例化文件输入流
FileInputStream in=null;
in=new FileInputStream(filePath);
//获取文件通道
FileChannel fic=in.getChannel();
//实例化缓冲区
ByteBuffer buffer=ByteBuffer.allocate(1024);
//BufferedReader br=new BufferedReader(new FileReader(filePath));
//实例化字符串缓冲区
StringBuffer sb = new StringBuffer();
//读取数据
while(fic.read(buffer)!=-1){
buffer.flip();
String b=new String(buffer.array(),0,buffer.limit());
sb.append(b);
}
in.close();
buffer.clear();
return sb;
}
/**
* 解析文件内容
* @param content
* @return
* @throws Exception
*/
private List<Material> parseFileToMaterial( String content ) throws Exception {
List<Material> list = new ArrayList<Material>();
String[] field=content.split("\n");
for(int i=1;i<field.length;i++){
Material material=new Material();
String[] fields=field[i].split("\t~");
material.setId(Integer.valueOf(fields[0]));
material.setName(fields[1]);
material.setClient(fields[2]);
material.setUnit(fields[3]);
material.setPrice(Float.valueOf(fields[4]));
material.setTotal(Float.valueOf(fields[5]));
material.setNote(fields[6]);
list.add(material);
}
// String rowContent = ".......";
// String[] fields = rowContent.split("\t~");
//... 解析内容
return list;
}
public static void main(String[] args) throws Exception{
MaterialManager mm=new MaterialManager();
String file="E:\\java\\storage\\src\\Material.txt";
MaterialImport mi=new MaterialImport(mm,file);
mi.importMaterial();
System.out.println("OK!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -