参考了这篇博客并优化,谢谢: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('\t'); out.writeInt(amount[i]);
out.writeChar('\t'); out.writeUTF(descs[i]);
out.writeChar('\t');
}
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元

java 文件操作 写入和读取(小结一)的更多相关文章

  1. java 文件的写入和读取

    //写入操作 方法1 OutputStream f = new FileOutputStream("C:/j/j.txt"); f.write("aaaaaaa" ...

  2. java文件的写入和读取(按行)

    https://blog.csdn.net/Alexwym/article/details/81078417 https://blog.csdn.net/nickwong_/article/detai ...

  3. java一行一行写入或读取数据

    原文:http://www.cnblogs.com/linjiqin/archive/2011/03/23/1992250.html 假如E:/phsftp/evdokey目录下有个evdokey_2 ...

  4. Java文件操作源码大全

    Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...

  5. Java 文件操作大全

    Java 文件操作大全 //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if (!myFolderPat ...

  6. Java笔记--java一行一行写入或读取数据

    转自 Ruthless java一行一行写入或读取数据 链接:http://www.cnblogs.com/linjiqin/archive/2011/03/23/1992250.html 假如E:/ ...

  7. java文件操作(普通文件以及配置文件的读写操作)

    转自:java文件操作(普通文件以及配置文件的读写操作) 读取普通文件 : /** * xiangqiao123欢迎你 如果对代码有疑问可以加qq群咨询:151648295 * * 读取MyFile文 ...

  8. 14、Java文件操作stream、File、IO

    1.文件操作涉及到的基本概念 File File类 是文件操作的主要对象中文意义就是 文件 顾名思意 万物皆文件,在计算上看到的所有东西都是文件保存,不管是你的图片.视频.数据库数据等等都是按照基本的 ...

  9. JAVA文件操作类和文件夹的操作代码示例

    JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...

随机推荐

  1. CodeForces 622B The Time

    水题. #include <stdio.h> #include <algorithm> #include <string.h> #include <queue ...

  2. CodeForces 629C Famil Door and Brackets

    DP. 具体做法:dp[i][j]表示长度为 i 的括号串,前缀和(左括号表示1,右括号表示-1)为 j 的有几种. 状态转移很容易得到:dp[i][j]=dp[i - 1][j + 1]+dp[i ...

  3. Linux/hp unix/AIX日常巡检脚本(转)

    以下为Linux/hp unix/AIX日常巡检脚本,大家可以参考着进行改写,用于自己的服务器. #!/usr/bin/ksh syserrdate=`date +"%m/%d"` ...

  4. VB.Net隐式转换和显式转换的方法(转)

    VB.Net隐式转换和显式转换的方法(转) “隐式转换”不需要源代码中的任何特殊语法.在下面的示例中,在将 k 的值赋给 q 之前,Visual Basic 将该值隐式转换成单精度浮点值.   Dim ...

  5. RTMP开发记录 测试服务器搭建篇

    nginx-rtmp-module 安装 最近在做直播功能,为了方便调试,在本地搭建一个rtmp server吧~ 我的配置环境是Ubuntu12.04 64 安装编译环境所需库 sudo apt-g ...

  6. UVa 496 - Simply Subsets

    题目大意:给你两个集合,判断两个集合的关系(不相交.相等.真子集和其他).简单判断就可以了,不过STL的set没有交集.并集等操作有点让人觉得不方便... #include <cstdio> ...

  7. php包管理工具最基本的一些问题

    windows下的 1.先安装windows下的set-up程序 点击一步步的, cmd进入,输入composer能成功显示一幅图说明安装成功 2.在下载,https://getcomposer.or ...

  8. 获取IIS版本

    近日,有一项目要分别获取iis6.0和7.5,然后对进程进行操作~ 研究良久,有以下办法获取iis版本. 代码: DirectoryEntry getEntity = new DirectoryEnt ...

  9. 文件查找和比较命令 来自: http://man.linuxde.net/find

    文件查找和比较1.find命令,用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时不设置任何参数,则find命令则在当前目录下查找子目录与文件.并且将查到的子 ...

  10. centos7.0之Lnmp和Lamp

    首先配置防火墙 CentOS 7.0默认使用的是firewall作为防火墙 1.关闭firewall: systemctl stop firewalld.service #停止firewall sys ...