Java中读取文件,去除一些分隔符,保存在多维数组里面
1 public void readFile(String filePath) 2 { 3 File file=new File(filePath); 4 ArrayList<String[]> dataArray=new ArrayList<String[]>(); 5 try{ 6 String str=new String(); 7 BufferedReader in=new BufferedReader(new FileReader(file)); 8 String[] tempArray ; 9 while((str=in.readLine())!=null) 10 { 11 tempArray=str.split(" "); 12 dataArray.add(tempArray); 13 } 14 15 }catch (IOException e) 16 { 17 e.getStackTrace(); 18 } 19 for(int i=0;i<dataArray.size();i++) 20 { 21 for(int j=0;j<dataArray.get(i).length;j++) 22 System.out.print(dataArray.get(i)[j]+" "); 23 System.out.println(); 24 } 25 26 }
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]);句子中第一个参数是第几列,第二个参数是第几行,与矩阵的表示法正好相反(注意这一点),
1 public static void writeExcel(OutputStream os) throws Exception { 2 WritableWorkbook wwb = Workbook.createWorkbook(os);//创建工作簿 3 WritableSheet ws = wwb.createSheet("sheet1", 0);//创建工作表,0表示这是第一页 4 Label labelC = new Label(0, 0, "卡编号");//在工作表的第一行第一列填写卡编号几个字 5 ws.addCell(labelC); 6 7 8 labelC = new Label(1, 0, "卡密码"); 9 ws.addCell(labelC); 10 labelC = new Label(2, 0, "卡点数"); 11 ws.addCell(labelC); 12 labelC = new Label(3, 0, "生成时间"); 13 ws.addCell(labelC); 14 labelC = new Label(4, 0, "制卡人"); 15 ws.addCell(labelC); 16 17 // 此处的密码,卡号,每张卡的编号,生成者都可以从外部传进来,这里主要是为了演示 18 int nums=5; //生成卡的数量 19 String allPD="86598,54789,25478,96548,87458";//所有卡的密码,随机生成,以循环的方式填入到表格中 20 String allCardID="20060310001,20060310002,20060310003,20060310004,20060310005"; 21 //所有卡的ID,卡ID也是用StrUtil.generalSrid随机生成的,这里这是为了演示,就随便写了几个 22 String card_point="100";//每张卡的点数 23 String operator="admin";//卡的生成者 24 25 String cardIds[]=allCardID.split(",");// 所有的卡id 26 String pd[]=allPD.split(",");//所有的卡密码 27 //String date=ComDate.getDateString(); //此处的ComDate是一个获得当前时间的方法,需要自己写,不是系统自带的 28 29 for(int i=0;i<nums;i++){ 30 labelC = new jxl.write.Label(0, (i+1), cardIds[i]); 31 ws.addCell(labelC); 32 labelC = new jxl.write.Label(1, (i+1), pd[i]); 33 ws.addCell(labelC); 34 labelC = new jxl.write.Label(2, (i+1),card_point); 35 ws.addCell(labelC); 36 // labelC = new jxl.write.Label(3, (i+1),date); 37 //ws.addCell(labelC); 38 labelC = new jxl.write.Label(4, (i+1),operator); 39 ws.addCell(labelC); 40 } 41 42 //写入Exel工作表 43 wwb.write(); 44 //关闭Excel工作薄对象 45 wwb.close(); 46 }
从Excel文件读出
从输入流中得到工作簿的名称
得到工作表
从单元中得到单元的内容