第九章输入与输出Word文件下载.docx

上传人:b****3 文档编号:7140802 上传时间:2023-05-08 格式:DOCX 页数:20 大小:18.07KB
下载 相关 举报
第九章输入与输出Word文件下载.docx_第1页
第1页 / 共20页
第九章输入与输出Word文件下载.docx_第2页
第2页 / 共20页
第九章输入与输出Word文件下载.docx_第3页
第3页 / 共20页
第九章输入与输出Word文件下载.docx_第4页
第4页 / 共20页
第九章输入与输出Word文件下载.docx_第5页
第5页 / 共20页
第九章输入与输出Word文件下载.docx_第6页
第6页 / 共20页
第九章输入与输出Word文件下载.docx_第7页
第7页 / 共20页
第九章输入与输出Word文件下载.docx_第8页
第8页 / 共20页
第九章输入与输出Word文件下载.docx_第9页
第9页 / 共20页
第九章输入与输出Word文件下载.docx_第10页
第10页 / 共20页
第九章输入与输出Word文件下载.docx_第11页
第11页 / 共20页
第九章输入与输出Word文件下载.docx_第12页
第12页 / 共20页
第九章输入与输出Word文件下载.docx_第13页
第13页 / 共20页
第九章输入与输出Word文件下载.docx_第14页
第14页 / 共20页
第九章输入与输出Word文件下载.docx_第15页
第15页 / 共20页
第九章输入与输出Word文件下载.docx_第16页
第16页 / 共20页
第九章输入与输出Word文件下载.docx_第17页
第17页 / 共20页
第九章输入与输出Word文件下载.docx_第18页
第18页 / 共20页
第九章输入与输出Word文件下载.docx_第19页
第19页 / 共20页
第九章输入与输出Word文件下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第九章输入与输出Word文件下载.docx

《第九章输入与输出Word文件下载.docx》由会员分享,可在线阅读,更多相关《第九章输入与输出Word文件下载.docx(20页珍藏版)》请在冰点文库上搜索。

第九章输入与输出Word文件下载.docx

if(flTemp.isDirectory())//文件对象指定的文件是否为目录

System.out.println(strFiles[i]+”\t<

DIR>

”);

intDirCount++;

}

System.out.println(intFileCount+”file(s)\t”+lngSize+”bytes’);

System.out.println(intDirCount+”dir(s)”);

 

EX2:

(java实例解析P73)难度等级:

A

编写一个程序,把一个文件复制到指定的另一文件。

并能判断存在的错误。

classCopy

if(args.length<

2)

System.out.println(“Usage:

Copy[SourceFilename][ObjectFilename].”);

else

FilefSource=newFile(args[0]);

//定义原文件

booleanisOK=true;

if(!

Source.exists())

System.out.println(“SourceFile”+args[0]+”isnotaexist!

isOK=false;

if(isOK&

&

!

Source.isFile())

Source.canRead())//判断原文件是否可读

System.out.println(“cannotread”+“SourceFile”+args[0]+”!

FilefObject=newFile(args[1]);

//定义目标文件

try

if(isOK&

fObject.exists())

System.out.println(“ObjectFile”+args[1]+”isalreadyexist!

System.out.println(“Overwrite?

[y/n]”);

intch=System.in.read();

//读入数据

if(ch==’n’||ch==’N’)

{

isOK=false;

if(isOK)

FileInputStreamfisSource=newFileInputStream(args[0]);

FileOutputStreamfosObject=newFileOutputStream(args[1]);

Systrm.out.println(“Copyfilefrom”+args[0]+”to”+args[1]+”…”);

while(fisSource.available()>

0)//是否输入流还有字节

inttemp=fisSource.read();

//输出

fosObjece.write(temp);

//输入

fisSource.close();

fosObject.close();

System.out.println(“FileCopyedSuccessfully!

catch(IOExceptione)

System.out.println(e);

EX3:

(java2实例解析P79)难度等级:

建立一个文件,并对文件进行查找替代操作

publicclassRandomFileIO

publicstaticvoidmain(Stringargs[])

RanddomAccessFileraFile=newRandomAccessFile(“employee”,”rw”);

System.out.println(“\”employee\”);

CreateFile(rafFile);

OutputFile(rafFile);

ReplaceInFile(rafFile,”zhaoliu”,20);

rafFile.close();

catch(FileNotFoundExceptione)

System.out.println(“Error!

”+e);

System.out.println(“Error”+e);

staticvoidReplaceInFile(RandomAccessFilerafFile,StringstrName,intintAge)

rafFile.seek(0L);

//设置下次读取文件的其始位置

System.out.println(“查找”+strName+”的记录!

StringstrTempName;

longlngInsertPos;

do

rafFile.readLong();

rafFile.readChar();

lngInsertPos=rafFile.getFilePointer();

//返回该文件的当前文件的位置

rafFile.readInt();

rafFile.readChar();

strTempName=rafFile.readLine();

//读取文件的下一行文本

while(strTempName.startsWith(strName)==false)

rafFile.seek(lngInsertPos);

//设置下次读取的位置

rafFile.writeInt(intAge);

System.out.println(“replaceSucced!

System.out.println(“FileAccessError!

//该函数进行文件的创建的工作

staticvoidCreateFile(RandomAccessFilerafFile)

longlngNumbers[]={10001L,10002L,10003L,10004L,10005L};

StringstrNames[]={“zhangsan”,”lisi”,”wangwu”,”zhaoliu”,”qianqi”};

intintAge[]={20,21,26,18,30};

for(inti=0;

lngNumbers.length;

rafFile.writeLong(lngNumbers[i]);

rafFile.writeChar(‘\t’);

rafFile.writeInt(intAge[i]);

rafFile.writeBytes(strNames[i]+”\n”);

catch(IOExceptione)

“+e);

staticvoidOutputFile(RandomAccessFilerafFile)

try

Systrm.out.println(“”);

rafFile.seek(0);

While(true)

longlngNumber=rafFile.readLong();

intstr=rafFile.readInt();

Systrm.out.println(lngNumber+”\t”+str+”\t”+rafFile.readLine());

catch(EOFExceptione)

System.out.println(“Reachtheendofthefile!

EX4:

(java2实例解析P83)难度等级:

编写一个程序,从键盘读入字符,以#结束,把读入的数据写入文件里。

publicclassCreateFile

StringstrFilename;

DataInputStreamstdIn=newDataInputStream(new

BufferedInputStream(System.in));

//新建一个缓存输入流

try//设置输出的文件名

if(args.length==0)

System.out.println(“PleaseInputthFileName:

strFilename=stdIn.readLine();

else

strFilename=args[0];

DataOupputStreamNewFile=newDataOuptputStream(

newBufferedOupputStream(

newFileOutputStream(strFilename)));

intstrTemp;

System.out.println(“***Pleaseimputthecontext,Endwhtha\’#\’***”);

strTemp=stdIn.read();

//读入

while(strTemp!

=’#’)

NewFile.write(strTemp);

strTemp=stdIn.read();

NewFile.close();

//关闭输出流

e.pritnStackTrace();

EX5:

(java2实例解析P87)难度等级:

C

自定义过滤流,对文件进行加密,把n代替a,o代替b,依次类推

publicclassSafeCode

SafeCodeFiltersafeCodeFilter=newSafeCodeFilter();

intintTemp;

//对文件origin.txt进行加密,存放在mid.txt

MyFilterInputStreamrfsIn=newMyFilterInputStream(newFileInputStream

(“origin.txt”),safeCodeFilter);

FileOutputStreamrfsOut=newFileOutputStream(“mid.txt”);

While(intTemp=rfsIn.read()!

=-1)//继续加密的条件

rfsOut.write(intTemp);

rfsIn.close();

//加密完毕之后……

rfsOut.close();

Systrm.out.println(e);

//对文件mid.txt进行解密,存放在result.txt

FileInptStreamrfsIn=newFileInputStream(“mid.txt”);

MyFilterOutputStreamrfsOut=newMyFilterOutputStream(

NewFileOutputStream(“result.txt”),safeCodeFilter);

While(intTemp=rfs.read()!

=-1)//条件

rfsOut.close();

catch(FileNotFoundExceptione)

classMyFilterInputStreamextendsFilterInputStream

SafeCodeFiltersafeCodeFilter;

MyFilterInputStream(InputStreamin,SafeCodeFilterfilter);

super(in);

safeCodeFilter=filter;

publicintread()throwsIOException

intintTemp=in.read();

if(intTemp!

=-1)

intTemp=safeCodeFilter.filter(intTemp);

returnintTemp;

classMyFilterOutpurStreamextendsFilterOutputStream

MyFilterOutputStream(OutputStreamout,SafeCodeFilterfilter);

super(out);

safeCodeFilter=filter;

publicvoidwrite(intintTemp)throwsIOException

out.write(intTemp);

//过滤器

classSafeCodeFilter

publicintfilter(intintTemp)

intc=intTemp;

if(intTemp>

’a’&

intTemp<

’z’)

c=’a’+((intTemp-‘a’)+13)%26;

//加密公式

’A’&

’Z’)

c=’A’+((intTemp-‘A’)+13)%26;

returnc;

EX6:

(java2实例解析P90)难度等级:

编写一个程序,两个线程通过一个管道通信,线程Sender通过管道输出流,将文件发送出去,线程Receiver通过管道接受发送的数据,并写入文件ReceiverFile中。

publicclassThreadCommunication

PipedInputStreampisIn=newPipedInputStream();

PipedOutputStreamposOut=newPipedOutputStream()l

posOut.connect(pisIn);

//管道建立连接

Sendersender=newSender(posOut,”SendFile”);

Receiverreceiver=newReceiver(pisIn,”ReceiverFile”);

Sender.start();

Receiver.start();

classSenderextendsThread

PipedOutputStreamposOut;

Filefile;

Sender(PipedOutputStreamposOut,Stringfile);

this.posOut=posOut;

this.file=newFile(file);

publicvoidrun()

FileInputStreamfs=newFileInputStream(file);

intdata;

data=fs.read();

While(data!

posOut.write(data);

//文件输出

data=fs.read();

pos.Out.close();

//关闭管道

System.out.println(“senderError!

classReceiverextendsThread

PipedInputStreampisIn;

Receiver(PipedInputStreampisIn,Stringfile)

this.pisIn=pisIn;

FileOutputStreamfs=newFileOutputStream(file);

intdata;

data=pisIn.read();

while(data!

fs.write(data);

//接受数据

data=pisIn.read();

pisIn.close();

System.out.println(“ReceiverErroe!

EX7:

(JAVA2实例解析P93)难度等级:

顺序输入流SequenceInputStream,可连接多个输入流,依次打开每个输入流,读取数据,然后关闭流。

importjava,io.*;

importjavautil.*;

classFileConcatenate

FileListfileList=newFileList(args);

SequenceInputStreamsisIn=newSequenceInputStream(fileList);

data=sisIn.read();

//读取数据

while(data!

data=sisIn.read();

System.out.println(data);

sisIn.close();

System.out.println(“Error!

//定义枚举接口

classFileListimplementsEnumeration

StringstrFiles[];

intintCurrnetFile;

FileList(StringstrFiles[])

this.strFiles=strFiles;

intCurrentFile=0;

publicbooleanhasMoreElements()//调用函数,判断是否还有文件

if(intCurrentFile<

strFiel.length)

returntrue;

returnfalse;

publicObjectnextElement()//调用函数,读取下一个文件

if(hasMoreElenents())

intCurrentFile++;

returnnewFileInputStream(strFiles[intCurrentFile-1]);

//数组下标

returnnull;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2