关于文件的建立与读写处理方式(一)

编写一个应用程序,从文件a.txt中读取数据,筛选出文件中的数字字符,并将其转换成double类型是,对所有的数据求和,并求出平均值,把数据数组与计算结果输出到文件b.txt中。如图:
在这里插入图片描述

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class liu {
   public static void main(String args[]) {
      int n=-1;
      byte [] a=new byte[100];
     
      double sum=0;
      int p=0;
      try{ 
    	  File f=new File("F://面对对象分析与设计//第二学期","a.txt");
      InputStream in = new FileInputStream(f);
      while((n=in.read(a,0,100))!=-1) {
               String s=new String (a,0,n);
      String regex="\\D+"; 
      String[] n2=s.split(regex);   
      for(int j=0;j<n2.length;j++){
    	   sum = sum+Integer.parseInt(n2[j]);
           p++;
      }  
           String s4=("  和: "+sum+"   "+"平均值:"+(sum/p++));   
           byte[] b2=s4.getBytes();
           for(int i=0;i<n2.length;i++){       	  
           }
           for(int i=0;i<n2.length;i++) {
          	 if(i==0) {
          		  System.out.print("b数据是:["+n2[i]);
          	 }
          	 else {
          		System.out.print(" "+n2[i]);
          	 }
           }

           System.out.print("]");
        	   File f2=new File("F://面对对象分析与设计//第二学期","b.txt");
        	   OutputStream out = new FileOutputStream(f2);
        	   byte[] b3="txt的数据是:[".getBytes();
        	   byte[] b4=" ".getBytes();	  
        	   for(int i=0;i<n2.length;i++){
        		double d=Double.parseDouble(n2[i]);
        		String s5=(""+d+"");  
        		byte[] b1=s5.getBytes();
        		if(i==-0){ 
        			out.write(b3);
        			out.write(b1);
        		}
        		else{
        			out.write(b4);
        			out.write(b1);
        		}
        		
        	   }
        	   byte[] b6="]".getBytes();
        	   out.write(b6);
        	   out.write(b2);        	   
        	   
            } 
      }
      catch(Exception e) {
   	   System.out.println("Error"+e);
      }
            }
      
}

读取文件a:
在这里插入图片描述
编写文件b:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值