您好,欢迎访问三七文档
实验五Java输入输出流1.实验目的(1)掌握输入输出流的总体结构;(2)掌握流的概念;(3)了解各种流(包括文件流、管道流、连接文件、过滤流、对象的序列化、随机访问)的使用。2.实验内容实验题1编写一个JavaApplication程序,打印命令行输入的所有参数。[基本要求]编写完整程序。importjava.util.Scanner;publicclassApplication{publicstaticvoidmain(String[]args){Stringnum;Stringname;Stringdept;Scannerreader=newScanner(System.in);System.out.println(输入学号:);num=reader.nextLine();System.out.println(输入姓名:);name=reader.nextLine();System.out.println(输入专业:);dept=reader.nextLine();System.out.println(学号:+num+姓名:+name+专业:+dept);}}2.实验题2阅读下面程序,叙述其功能packagecn.edu.nwsuaf.jp;importjava.io.FileReader;importjava.io.IOException;publicclassFileViewer{/**Definestheentrypointoftheprogram.*/publicstaticvoidmain(String[]args){System.out.println(Pleaseenterthefilepath:);try{StringfileName=;while(true){intreadByte=System.in.read();if(readByte==-1||readByte=='\r')break;fileName+=(char)readByte;}//ReadsthefileandprintsittotheSystem.outstream.char[]buffer=newchar[20];FileReaderreader=newFileReader(fileName);while(true){intlength=reader.read(buffer);if(length0)//Readsalongasthereismoredata.break;Stringtext=newString(buffer,0,length);System.out.print(text);}}catch(IOExceptione){e.printStackTrace();}}}[基本要求]写出本题程序的功能。程序功能分析:从所指定的文件中读出输入的数据。实验题3设计一个类FileRWTest,实现从input.txt文件中读入数据到字符数组cBuffer中,然后再写入到文件“output.txt”中。[基本要求]编写完整程序。importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;publicclassFileRWTest{publicstaticvoidmain(String[]args){Filefin=newFile(D://,input.txt);Filefout=newFile(D://,output.txt);try{if(!fin.exists())fin.createNewFile();if(!fout.exists())fout.createNewFile();FileReaderfi=newFileReader(fin);FileWriterfo=newFileWriter(fout);char[]cBuffer=newchar[1000];intrs=0;while((rs=fi.read(cBuffer))!=-1){fo.write(cBuffer,0,rs);}fo.flush();fo.close();fi.close();}catch(Exceptione){e.printStackTrace();}}}实验题4水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153=13+53+33。请计算出100万以内所有的水仙花数,并以一行一个水仙花数的格式保存到文本文件data.txt中。输出格式如下:153=1*1*1+5*5*5+3*3*3importjava.io.*;publicclassShuixian{publicstaticvoidmain(String[]args){Integerx;for(x=100;x1000;x++){Stringstr=newString(x.toString());char[]s=newchar[str.length()];s=str.toCharArray();intt=0;for(inti=0;istr.length();i++){intm=(s[i]-'0');intn=m*m*m;t+=n;}if(x==t){StringBuffersx=newStringBuffer();sx.append(x+=);for(inti=0;i3;i++){if(i!=2)sx.append(s[i]+*+s[i]+*+s[i]+*++);elsesx.append(s[i]+*+s[i]+*+s[i]);}Stringal=newString(sx);Filefile=newFile(D:\\data.txt);FileWriterfos;try{fos=newFileWriter(file);BufferedWriterf=newBufferedWriter(fos);f.write(al+\n);f.newLine();f.close();}catch(IOExceptione){e.printStackTrace();}System.out.println(al);}}}}实验题5写一程序统计纯文本文件“Early-Precaution.txt”的大写字母、小写字母个数,并将所有小写字母转换为大写字母,输出到result.txt。程序代码如下:importjava.io.*;publicclassChange{FileReaderf;publicstaticvoidmain(String[]args){FileReaderf;try{f=newFileReader(D:\\Early-Precaution.txt);Filefile=newFile(D:\\result.txt);FileWriterfos=newFileWriter(file);BufferedReaderr=newBufferedReader(f);BufferedWriterw=newBufferedWriter(fos);Stringaline;intx=0;inty=0;while((aline=r.readLine())!=null){Stringstr=newString(aline);char[]s=newchar[str.length()];s=str.toCharArray();for(inti=0;istr.length();i++){if(s[i]='a'&&s[i]='z'){x++;}elseif(s[i]='A'&&s[i]='Z'){y++;}}StringSTR=str.toUpperCase();w.write(STR+\n);}r.close();w.close();System.out.println(小写字母:+x+个);System.out.println(大写字母:+y+个);}catch(IOExceptione){e.printStackTrace();}}}3.实验总结通过这次实习,我熟悉了输入输出流的基本结构,学会了一些基本流的运用。但是,对于文件流字符流的写入不是很熟练,实习题4求水仙花数的程序,有点难度,而且输出的那个data.txt文件中,始终只有最后一行的输出,这个题还得仔细研究和学习。
本文标题:Java实验五报告
链接地址:https://www.777doc.com/doc-4742036 .html