Java数据流
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java 实验日志
指导教师韦庆杰
学院计算机学院专业网络工程
班级0431002 学号姓名实验室S111
实验题目
Java数据流
实验要求:
编写一个含有读取/写入数据的Java应用程序。
实验目的:
1.掌握数据流的基本概念。
2.掌握多种读取/写入数据的方法。
实验主要步骤:
1:编写一个计算器,它从键盘中读取操作数和操作符,经过计算后,在屏幕上输出结果
2:创建一个类输入以下代码
import java.io.*;
class Ex8{
public static void main(String[] args) {
Calculator cal=new Calculator();
cal.Calculate();
}
public double ReadDouble() {
// 从键盘读取一个Double数
double re=0;
DataInputStream in =new DataInputStream(System.in);
try{
String temp =in.readLine();
re =Double.parseDouble(temp);
}
catch (IOException e) {
System.out.println("Error in I/O:" + e.getMessage());
}
return re;
}
public void Calculate() {
// 计算
byte cmd='q';
do
{
double op1,op2,re=0;
byte op;
System.out.print("请输入操作数1:");
op1 =ReadDouble();
System.out.print("请输入操作(+、-、*、/):");
op =ReadByte();
System.out.print("请输入操作数2:");
op2 =ReadDouble();
switch(op)
{
case '+':
re =op1 +op2;
break;
case '-':
re =op1 -op2;
break;
case '*':
re =op1 *op2;
break;
case '/':
re =op1 /op2;
break;
default:
System.out.println("操作符错误");
continue;
}
System.out.println(""+op1+(char)op+op2+"="+re);
System.out.print("退出?(Q/q)");
cmd =ReadByte();
}while(cmd!='Q' && cmd!='q');
}
public byte ReadByte() {
// 读操作符
byte cmd[] =new byte[10];
try{
System.in.read(cmd);
}
catch (IOException e) {
System.out.println("Error in I/O:" + e.getMessage());
}
return cmd[0];
}
}
3:编写文件拷贝程序
import java.io.*;
public class TestFileAccess {
public static void main(String []args){
File fileIn=new File("1.txt");
File fileOut=new File("2.txt");
int b;
try {
FileReader fr=new FileReader(fileIn); FileWriter fw=new FileWriter(fileOut); while((b=fr.read())!=-1)
{
fw.write(b);
}
fw.flush();
fw.close();
fr.close();
} catch(FileNotFoundException e)
{
e.printStackTrace();
} catch(IOException e)
{
e.printStackTrace();
}
}
}
实验结果:
1:Ex8的实验结果如下
2:文件拷贝程序出现问题不能运行
心得体会:
1:数据流的概念有些抽象,要注意理解
2:有些问题解决不了,没有人会
3:还需要深造学习