IOWord文档格式.docx
- 文档编号:21137230
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:13
- 大小:19.40KB
IOWord文档格式.docx
《IOWord文档格式.docx》由会员分享,可在线阅读,更多相关《IOWord文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
}
}
}
/*//方法2
Stringstring="
;
fis=newFileInputStream(string);
BufferedReaderbis=newBufferedReader(newInputStreamReader(fis));
while((ch=bis.read())!
System.out.print((char)ch);
文件没有找到!
文件读入失败!
2/*编写一个Java应用程序,利用RandomAccessFile类,把几个int型整数(1,2,3,4,5,6,7,8,9,10)写入到一个名字为tom.dat文件中,
然后按相反顺序读出这些数据并显示在屏幕上。
(注意,一个int型数据占4个字节)(本题30分)
*/
//方法一:
publicclassExam3Test3{
int[]buf={1,2,3,4,5,6,7,8,9,10};
RandomAccessFileraf=newRandomAccessFile("
D:
\\tom.dat"
"
rw"
for(inti=0;
i<
buf.length;
i++)
raf.writeInt(buf[i]);
for(inti=buf.length-1;
i>
=0;
i--){
raf.seek(i*4);
//设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。
System.out.print(raf.readInt()+"
"
}
文件写入失败!
文件读出失败!
3/*编写一个Java应用程序,使用RandomAccessFile流统计Hello.txt中的单词,要求如下:
(1)计算全文中共出现了多少个单词(重复的单词只计算一次);
(2)统计出有多少个单词只出现了一次;
(3)统计并显示出每个单词出现的频率,并将这些单词按出现频率高低顺序显示在一个TextArea中。
(本题30分)
importjava.io.File;
importjava.io.IOException;
importjava.io.RandomAccessFile;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Map;
importjavax.swing.JFrame;
importjavax.swing.JTextArea;
publicclassExam3Test9{
publicstaticvoidmain(String[]args)throwsIOException{
StringfileName="
\\Hello.txt"
RandomAccessFilefile=newRandomAccessFile(newFile(fileName),"
r"
Stringcontent=null;
Map<
String,Integer>
map=newHashMap<
();
while((content=file.readLine())!
=null){
String[]ary=content.replaceAll("
'
|\\?
|,|\\.|"
).split("
\\s+"
for(Stringstr:
ary){
if(map.containsKey(str.trim())){
map.put(str,newInteger(map.get(str).intValue()+1));
}else{
map.put(str.trim(),newInteger
(1));
}
Listlist=newArrayList();
for(Iteratoriter=map.entrySet().iterator();
iter.hasNext();
){
Map.Entry<
element=(Map.Entry<
)iter
.next();
list.add(newWordFreq(element.getKey(),element.getValue()));
Collections.sort(list,newComparator<
WordFreq>
(){
publicintcompare(WordFreqo1,WordFreqo2){
returno1.getCount()<
o2.getCount()?
1:
-1;
});
intuniqueCount=0;
finalStringBuildersb=newStringBuilder();
finalStringNEW_LINE="
\r\n"
for(Objectobj:
list){
WordFreqitem=(WordFreq)obj;
uniqueCount+=(item.getCount()==1?
0);
sb.append(item.toString());
sb.append(NEW_LINE);
JFramef=newJFrame();
JTextArearesult=newJTextArea();
result.append("
Total"
+list.size()+"
wordsfoundin"
+fileName);
result.append(NEW_LINE);
+uniqueCount+"
wordsappearonlyonce"
result.append(sb.toString());
f.add(result);
f.setVisible(true);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
classWordFreq{
privateStringword;
privateintcount;
publicWordFreq(Stringword,intcount){
this.word=word;
this.count=count;
publicintgetCount(){
returncount;
publicStringtoString(){
returnword+"
\t"
+count;
4/*编写一个Java应用程序,使用Java的输入输出流技术将Input.txt的内容逐行读出,每读出一行就顺序为其添加行号(从1开始,逐行递增),
并写入到另一个文本文件Output.txt中。
importjava.awt.geom.Path2D;
importorg.omg.PortableInterceptor.USER_EXCEPTION;
publicclassExam3Test8{
publicstaticvoidmain(String[]args)throwsException{
appendLineNumber(newFile("
/input.txt"
),newFile("
\\output.txt"
));
publicstaticvoidappendLineNumber(Filefrom,Fileto)throwsException{
BufferedReaderin=newBufferedReader(newFileReader(from));
StringBuildersb=newStringBuilder();
Stringt;
intlineNumber=1;
while((t=in.readLine())!
sb.append(lineNumber+"
sb.append(t);
sb.append(System.getProperty("
line.separator"
lineNumber++;
in.close();
BufferedWriterout=newBufferedWriter(newFileWriter(to));
out.write(sb.toString());
out.close();
5/*编写一个Java应用程序,开启一个文本文件(以本程序源文件为例读取),一次读取其内的一行文本,令每行形成一个String,
并将读出的String对象置于LinkedList中,以相反次序显示出LinkedList内的所有内容。
(25分)
importjava.io.BufferedReader;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.util.LinkedList;
publicclassExam4Test2{
Stringfilepath="
\\javaWorkplace\\ExameTest\\src\\Exame2\\Exam4Test2.java"
BufferedReaderbr=newBufferedReader(newFileReader(filepath));
LinkedListlist=newLinkedList();
Stringstr=null;
while((str=br.readLine())!
list.add(str);
for(inti=list.size()-1;
i--)
System.out.println(list.get(i));
br.close();
文件没找到!
文件读取失败!
*有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。
编写一个Java应用程序,计算出最后一个小朋友的号码是多少?
(20分)
*/
publicclassExam4Test5{
LinkedList<
Integer>
list=newLinkedList<
intnumber,cnt;
for(number=1;
number<
=500;
++number)
list.addLast(number);
cnt=500;
number=0;
Iteratoriterator=list.iterator();
while(cnt>
1){
if(iterator.hasNext()){
iterator.next();
//继续往下数;
++number;
}else{
iterator=list.iterator();
//当数到末尾时
if(number==3){
number=0;
iterator.remove();
--cnt;
System.out.println("
最后用一个小朋友的号码为:
+list.element());
/*编写一个Java应用程序,利用RandomAccessFile类往某个文本文件中写入20个整数(0~19),然后从该文件的第12个字节开始,
将后面所有的数据(对应写入的整数)读出。
publicclassExam4Test8{
publicstaticvoidmain(String[]args){
RandomAccessFilerf=newRandomAccessFile("
\\exam.txt"
"
int[]buf={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
for(inti=0;
i++){
rf.writeInt(buf[i]);
}
for(inti=3;
i<
rf.seek(i*4);
System.out.print(rf.readInt()+"
}catch(Exceptione){
写入失败!
}
/*编写一个Java应用程序,运行后,首先列出当前工作目录,然后把当前目录下面的所有后缀为java的文件取出
(设置一个过滤器进行文件名后缀的过滤)。
(30分)
importjava.io.FilenameFilter;
publicclassExam5Test4{
publicstaticvoidmain(Stringargs[]){
Stringstr="
\\javaWorkplace\\ExameTest\\src\\Exame2\\Exam5Test4.java"
Filefile=newFile(str);
Stringpath=file.getAbsolutePath();
Stringdir=path.substring(0,(path.lastIndexOf("
\\"
)));
当前目录是:
+dir);
FileMyDir=newFile(dir);
File[]myFiles=MyDir.listFiles(newFilenameFilter(){
publicbooleanaccept(Filefile,StringfileName){
if(fileName.endsWith("
.java"
))
returntrue;
returnfalse;
在它下面的java文件有:
for(Filef:
myFiles){
System.out.println(f.getName());
/*定义一个可序列化的对象Student类,这个类实现了Serializable接口,类中的成员变量id,name,age,department都可以被序列化,
方法不能序列化。
通过对象输出流的writeObject()方法将Student对象保存到文件data.ser中,然后通过对象输入流的readObject()方法
从文件data.ser中读出保存下来的Student对象,然后将Student对象的id和name输出到控制台。
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;
classStudenttimplementsSerializable{
privatestaticfinallongserialVersionUID=1L;
intid;
Stringname;
intage;
Stringdepartment;
Studentt(intid,Stringname,intage,Stringdepartment){
this.id=id;
this.name=name;
this.age=age;
this.department=department;
publicclassExam5Test9{
Studentts
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IO
![提示](https://static.bdocx.com/images/bang_tan.gif)