Java中读取文件,去除一些分隔符,保存在多维数组里面
public void readFile(String filePath)
{
File file=new File(filePath);
ArrayList<String[]> dataArray=new ArrayList<String[]>();
try{
String str=new String();
BufferedReader in=new BufferedReader(new FileReader(file));
String[] tempArray ;
while((str=in.readLine())!=null)
{
tempArray=str.split(" ");
dataArray.add(tempArray);
} }catch (IOException e)
{
e.getStackTrace();
}
for(int i=0;i<dataArray.size();i++)
{
for(int j=0;j<dataArray.get(i).length;j++)
System.out.print(dataArray.get(i)[j]+"\t");
System.out.println();
} }
Java中读取写入到excel文件中去
1.首先下载jxl.jar或者POI压缩包,将其解压,加入到classPath中(直接在工程文件上右击,点击build Path,选择add external architecture)
import jxl.*
import jxl.write.*
首先是写入Excel文件中
首先是创建可写的工作簿 WritableWorkbook wwb = Workbook.createWorkbook(os);
创建可写的工作表 WritableSheet ws = wwb.createSheet("sheet1", 0);//创建工作表,0表示这是第一页
添加标签
写入工作簿
将工作簿关闭;
其中需要 注意这个labelC = Label(0, (i+1), cardIds[i]);句子中第一个参数是第几列,第二个参数是第几行,与矩阵的表示法正好相反(注意这一点),
public static void writeExcel(OutputStream os) throws Exception {
WritableWorkbook wwb = Workbook.createWorkbook(os);//创建工作簿
WritableSheet ws = wwb.createSheet("sheet1", 0);//创建工作表,0表示这是第一页
Label labelC = new Label(0, 0, "卡编号");//在工作表的第一行第一列填写卡编号几个字
ws.addCell(labelC); labelC = new Label(1, 0, "卡密码");
ws.addCell(labelC);
labelC = new Label(2, 0, "卡点数");
ws.addCell(labelC);
labelC = new Label(3, 0, "生成时间");
ws.addCell(labelC);
labelC = new Label(4, 0, "制卡人");
ws.addCell(labelC); // 此处的密码,卡号,每张卡的编号,生成者都可以从外部传进来,这里主要是为了演示
int nums=5; //生成卡的数量
String allPD="86598,54789,25478,96548,87458";//所有卡的密码,随机生成,以循环的方式填入到表格中
String allCardID="20060310001,20060310002,20060310003,20060310004,20060310005";
//所有卡的ID,卡ID也是用StrUtil.generalSrid随机生成的,这里这是为了演示,就随便写了几个
String card_point="100";//每张卡的点数
String operator="admin";//卡的生成者 String cardIds[]=allCardID.split(",");// 所有的卡id
String pd[]=allPD.split(",");//所有的卡密码
//String date=ComDate.getDateString(); //此处的ComDate是一个获得当前时间的方法,需要自己写,不是系统自带的 for(int i=0;i<nums;i++){
labelC = new jxl.write.Label(0, (i+1), cardIds[i]);
ws.addCell(labelC);
labelC = new jxl.write.Label(1, (i+1), pd[i]);
ws.addCell(labelC);
labelC = new jxl.write.Label(2, (i+1),card_point);
ws.addCell(labelC);
// labelC = new jxl.write.Label(3, (i+1),date);
//ws.addCell(labelC);
labelC = new jxl.write.Label(4, (i+1),operator);
ws.addCell(labelC);
} //写入Exel工作表
wwb.write();
//关闭Excel工作薄对象
wwb.close();
}
从Excel文件读出
从输入流中得到工作簿的名称
得到工作表
从单元中得到单元的内容