实验11 输入输出流(答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验11输入输出流

一、实验目的

(1)掌握Java I/O基本原理。

(2)掌握标准输入/输出流和Scanner类的基本使用方法。

(3)掌握FileInputStream、FileOutputStream抽象类的基本使用方法。

二、实验任务

(1)阅读给定的Java Application程序,按要求回答问题并写出运行结果。

(2)按要求编写一个Java Application程序,并编译、运行这个程序。

三、实验内容

1、从标准输入读取数据

import java.io.*;

import java.util.*;

public class StdInput {

public static void main(String[] args) throws Exception {

1:System.out.println("input:");

2:byte b[]=new byte[512];

3:int count=System.in.read(b);

4:System.out.println("count=:"+count);

5:System.out.println("output:");

6:for(int i=0;i

7:{System.out.print(b[i]+" ");}

} }

(1)分析程序代码,写出运行结果。

(2)将编号为6:和7:的两行改成一行语句System.out.println(b);输出的结果如何?分析为什么?

(3)如果将编号为2:的那一行代码改成double b[]=new double[512];那么修改其他的地方,完成正确输入和输出double类型的数组元素,请写出修改后的完整的运行代码和结果。

import java.io.*;

import java.util.*;

public class StdInput {

public static void main(String[] args) throws Exception {

System.out.println("input:");

double b[]=new double[512];

Scanner sin=new Scanner(System.in);

//int count=System.in.read();

//System.out.println("count=:"+count);

System.out.println("output:");

for(int i=0;i

{b[i]=sin.nextDouble();

System.out.print(b[i]+" ");

}

} }

2、编写程序实现如下操作过程:先在指定的当前目录下创建名“temp”的子目录,在“temp”目录下创建两个文件“temp1.txt”和“temp2.txt”,然后列表显示temp

目录下的所有文件;接下来再重命名“temp1.txt”为“temp3.txt”,删除文件“temp2.txt”,再在temp目录下创建tp子目录,在“tp”目录下创建两个文件“temp4.txt”和“temp5.txt”,然后再次显示temp目录下的所有文件。

import java.io.*;

public class FileDirectory {

public static void main(String[] args) throws Exception{ File currentPath=new File(".");

File tempPath=new File(currentPath,"temp");

tempPath.mkdir();

File temp1=new File(tempPath,"temp1.txt");

temp1.createNewFile();

File temp2=new File(tempPath,"temp2.txt");

temp2.createNewFile();【代码1】//创建文件temp2.txt

System.out.println("第一次的目录文件:");

listsubdir(tempPath);

File newf=new File(tempPath,"temp3.txt");

temp1.renameTo(newf);

temp2.delete();【代码2】//删除temp2.txt文件

File tempPath1=new File(tempPath,"tp");

tempPath1.mkdir();【代码3】//创建子目录tp

File temp4=new File(tempPath1,"temp4.txt");

temp4.createNewFile();【代码4】//创建文件temp4.txt

File temp5=new File(tempPath1,"temp5.txt");

temp5.createNewFile();

System.out.println("更改后的目录文件:");

listsubdir(tempPath);

}

//递归显示指定目录的内容方法

static void listsubdir(File currentPath)throws Exception {String filenames[]=currentPath.list();

for(int i=0;i

{

File f=new File(currentPath,filenames[i]);

if(f.isDirectory())【代码5】//判断f是否是目录

{System.out.println("仍然是一个目录,进行递归调用

"+f.getAbsolutePath());

listsubdir(f);}

else System.out.println(f.getName());

相关文档
最新文档