《Java程序设计》实验9Word格式.docx
- 文档编号:4682122
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:18
- 大小:53.27KB
《Java程序设计》实验9Word格式.docx
《《Java程序设计》实验9Word格式.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》实验9Word格式.docx(18页珍藏版)》请在冰点文库上搜索。
(3)如果输入的文件路径正确,使用缓冲文件输入流对象的方法将文件中的内容读取出来,并在屏幕上显示,然后退出整个程序。
五、编程。
设计一个通讯录,保存读者信息。
要求:
通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能。
通讯录写入文件中。
六、编程。
一家杂货店的店主,需要查询、输入、修改任何一件商品的品名、价格、货存量信息。
请用随机存取文件满足其要求,可以更新、查询信息。
每件商品的标志为其记录号。
使用文件输入类FileReader只能将文件内容全部读入。
如果要选择读入文件的内容,可使用随机文件类RandomAccessFile。
七、编程。
编写一个文件操作类FileOperate,实现以下方法:
(1)创建指定的目录makeDirectory:
如果指定的目录的父目录不存在则创建其目录树上所有需要的父目录。
(2)清空指定目录中的所有文件emptyDirectory方法:
这个方法将尽可能删除所有的文件,但是只要有一个文件没有被删除都会返回false。
(3)listAll方法:
列出目录中的所有内容,包括其子目录中的内容。
(4)getTypePart方法:
得到指定目录下所有以某后缀命名的所有文件名。
(5)搜索文件SearchFile方法:
搜索给定目录下的指定文件,支持模糊查询和深度搜索。
如:
test.*,则返回所有以test.开头的文件名。
(6)拷贝文件Copy方法:
参数1:
fromFileName源文件名;
参数2:
toFileName目标文件名;
参数3:
override目标文件存在时是否覆盖,返回类型为boolean。
二、实验目的与要求:
1.理解数据流的概念
2.理解Java流的层次结构
3.理解文件的概念
三、实验步骤与源程序:
(1)实验步骤
a)
编辑源文件
b)
编译
c)
运行
(2)源代码
【写出解决本次上机题目的源代码,并提供语句的注释;
如程序过长则给出主要程序段并写出注释】
题目1
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.*;
publicclassAa{
publicstaticvoidmain(String[]args)throwsIOException{
BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));
Strings=in.readLine();
byte[]buffer=s.getBytes();
System.out.println(buffer);
FileWriterf=newFileWriter("
D:
\\1.txt"
);
BufferedWriterwriter=newBufferedWriter(f);
writer.write(s);
writer.close();
}
}
题目2:
FileInputStreamin=newFileInputStream("
/test.txt"
byteb[]=newbyte[1024];
intlen1=in.read(b);
in.close();
System.out.println("
内容为:
"
+newString(b,0,len1));
Filef=newFile("
Readerinput=null;
input=newFileReader(f);
charc[]=newchar[1024];
intlen2=input.read(c);
input.close();
+newString(c,0,len2));
题目3:
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
publicclassIo{
publicstaticvoidmain(String[]args)throwsException{
//TODOAuto-generatedmethodstub
Filefis=newFile("
d:
+File.separator+"
test.txt"
InputStreaminput=null;
input=newFileInputStream(fis);
byteb[]=newbyte[8];
intlen=input.read(b,3,5);
for(inti=3;
i<
b.length;
i++){
System.out.println((char)b[i]);
题目4:
importjava.util.Scanner;
booleantest=true;
while(test){
System.out.println("
请输入文件名"
Scannerin=newScanner(System.in);
Strings=in.next();
Filef=newFile("
+s);
if(f.exists()){
test=false;
try{
InputStreaminput=null;
input=newFileInputStream(f);
byte[]b=newbyte[1024];
intlen=input.read(b);
System.out.println("
+newString(b,0,len));
}catch(Exceptione){
System.out.println(e);
}
}
}
题目5:
importjava.io.BufferedOutputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.PrintWriter;
classAddList{
privateStringfilePath="
;
privateStringbakPath="
privateStringcontent="
Scannersc=newScanner(System.in);
publicStringreadFile(){
content="
if(isNull(filePath)){
文件存储路径:
filePath=sc.nextLine();
Filefile=newFile(filePath);
FileReaderfr=null;
try{
if(file.exists()){
fr=newFileReader(file);
char[]chars=newchar[1024];
intn=0;
while((n=fr.read(chars))!
=-1){
Stringstring=newString(chars,0,n);
content=content+string;
}else{
文件不存在"
}catch(Exceptione){
e.printStackTrace();
}finally{
if(fr!
=null){
fr.close();
}catch(IOExceptione){
returncontent;
publicvoidwriteFile(Stringpath){
Filefile=newFile(path);
FileOutputStreamfos=null;
mkDirs(path);
fos=newFileOutputStream(file);
BufferedOutputStreambos=newBufferedOutputStream(fos);
PrintWriterpw=newPrintWriter(bos,true);
pw.print(content);
pw.flush();
}catch(FileNotFoundExceptione){
if(fos!
fos.close();
publicvoidwriteFile(){
mkDirs(filePath);
publicvoidmkDirs(Stringfilepath){
if(filepath.indexOf("
\\"
)!
=-1){
filepath=filepath.replaceAll("
"
/"
intn=filepath.indexOf("
//"
Stringpath=filepath.substring(0,n)+"
filepath=filepath.substring(filepath.indexOf("
)+1,filepath.length());
String[]files=filepath.split("
for(inti=0;
i<
files.length-1;
i++){
path=path+files[i];
if(!
file.exists()){
file.mkdir();
publicvoidaddImfor(){
--------增加记录---------"
Stringname="
Stringtel="
Stringemail="
content=readFile();
while(true){
姓名:
name=sc.next();
电话:
tel=sc.next();
Email:
email=sc.next();
content=content+name+"
<
>
+tel+"
+email+"
==>
0、Exit1、继续"
inti=sc.nextInt();
if(i==0){
break;
writeFile();
publicvoiddeleteImfor(){
---------删除记录---------"
String[]imfors=null;
你要删除的姓名是:
if(content.indexOf(name)!
imfors=content.split("
imfors.length;
if(imfors[i].indexOf(name)!
imfors[i]="
isNull(imfors[i])){
content=content+imfors[i]+"
删除成功"
此人不存在"
publicvoidviewAll(){
----------显示所有------------"
isNull(content)){
String[]imfors=content.split("
姓名\t电话\tEmail"
String[]imfor=imfors[i].split("
for(intj=0;
j<
imfor.length;
j++){
System.out.print(imfor[j]+"
\t"
System.out.println();
暂时还没有记录"
publicvoidqueryImfor(){
----------查找记录-----------"
Stringresult="
String[]imfor=null;
booleanbool=false;
result="
请输入关键字(按姓名查找):
bool=false;
imfor=imfors[i].split("
if(imfor[0].equals(name)){
bool=true;
result=result+imfors[i]+"
if(bool){
imfors=result.split("
无此人信息"
文件还没有记录"
publicvoidcopy(){
----------备份-----------"
if(isNull(bakPath)){
备份全路径:
bakPath=sc.next();
writeFile(bakPath);
备份成功"
publicbooleanisNull(Stringstring){
if(null==string||"
==string||0==string.length()){
returntrue;
returnfalse;
publicstaticvoidmain(String[]args){
AddListadd=newAddList();
intoperater=0;
选择功能:
\n1、增加记录2、删除记录3、显示所有4、查询记录5、备份6、退出"
operater=sc.nextInt();
if(1==operater){
add.addImfor();
}elseif(2==operater){
add.deleteImfor();
}elseif(3==operater){
add.viewAll();
}elseif(4==operater){
ad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计 Java 程序设计 实验