zoukankan      html  css  js  c++  java
  • java 文件操作 写入和读取(小结一)

    参考了这篇博客并优化,谢谢:http://blog.sina.com.cn/s/blog_99201d890101b4le.html

    功能:  实现通过两个类完成先写入文件,再读取数据计算显示

    package com.swust;
    import java.io.*;
    /*
     * 数据流包括DataInputStream、DataOutputStream类,
     * 两个类的实例化完成流的操作
     */
    public class flowTest {
     
        public static void main(String[] args)throws IOException  {
            // TODO Auto-generated method stub
            String username = "1";
              String path = "C:/test/" + username;
              String inforTxt = "msg.db";
              String newPath=path+inforTxt;
              FileOutputStream fileOut = new FileOutputStream(newPath);
              DataOutputStream out = new DataOutputStream(fileOut);
              //定义要保存的数据数组
              double[] prices={19.90,12.56,18.90,14.99,20.00};//长度5
              int[] amount={3,4,5,6,7,8};
              String[] descs={"java ee","java se","oracle","sqlserver","android"};
              //将prices,amount及descs中的数据以Tab键为分割保存到文件中。
              for(int i=0;i<5;i++){
                   out.writeDouble(prices[i]);
                   out.writeChar('	');
                   
                   out.writeInt(amount[i]);
                   out.writeChar('	');
                   
                   out.writeUTF(descs[i]);
                   out.writeChar('	');
              }
              out.close();
              
              //创建的数据输入流,将上面保存的文件再次打开并读取
              FileInputStream fileIn = new FileInputStream(newPath);
              DataInputStream in=new DataInputStream(fileIn);
                 double price;
                 int amnt;
                 String desc;
                 double total=0.0;
                 for(int i=0;i<5;i++){
                      price=in.readDouble();
                      in.readChar();//扔掉tab
                      amnt=in.readInt();
                      in.readChar();
                      desc=in.readUTF();
                      in.readChar();
                      System.out.println("你订购了 "+amnt+"件 "+desc+",价格为 "+price);
                      total=total+amnt*price;
                 }
                 System.out.println("共计金额:"+total+"元");
                 in.close();
        }
        
    
    }

    运行效果:

    你订购了 3件 java ee,价格为 19.9
    你订购了 4件 java se,价格为 12.56
    你订购了 5件 oracle,价格为 18.9
    你订购了 6件 sqlserver,价格为 14.99
    你订购了 7件 android,价格为 20.0
    共计金额:434.38元

  • 相关阅读:
    Bone Collector HDU
    Super Jumping! Jumping! Jumping! HDU
    147. 对链表进行插入排序
    C++ Program to Implement Sorted Circularly Doubly Linked List
    344. 反转字符串
    1360. 日期之间隔几天
    剑指 Offer 62. 圆圈中最后剩下的数字
    1441. 用栈操作构建数组
    594. 最长和谐子序列
    836. 矩形重叠
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4728609.html
Copyright © 2011-2022 走看看