两个类一个写入对象.一个读入对象
还需要一个词典,写几个词作测试
还需要一个词典,写几个词作测试
美人计
美人蕉
美人鱼
美容美发店
美容师
美容术
美容院
美声
美食
美食城
美食家
美事
美术
美术馆
美术家
美术界
美术年
美术片
美术品
美术师
美术室
美术纸
美术字
美谈
美味
美文
美协
美学
美学家
美意
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Test {
private static Set[] sets = new TreeSet[65535] ;
private static List lists = new ArrayList() ;
public static void main(String[] args) throws IOException {
File file = new File("") ;
System.out.println(file.getAbsolutePath());
InputStream is = new FileInputStream("chinese.dct") ;
InputStreamReader isr = new InputStreamReader(is) ;
BufferedReader br = new BufferedReader(isr) ;
String temp = null ;
int k = 0 ;
while((temp = br.readLine())!=null){
char[] cs = temp.toCharArray() ;
for (int i = 0; i < cs.length; i++) {
if(sets[cs[i]]==null){
sets[cs[i]] = new TreeSet<Integer>() ;
}
sets[cs[i]].add(k) ;
}
lists.add(temp) ;
k++ ;
}
is.close() ;
isr.close() ;
br.close() ;
FileOutputStream fis = new FileOutputStream("index.ansj") ;
ObjectOutputStream oos = new ObjectOutputStream(fis) ;
oos.writeObject(sets) ;
}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.util.Iterator;
import java.util.Set;
public class Read {
public static void main(String[] args) throws IOException, ClassNotFoundException {
InputStream is = new FileInputStream("index.ansj") ;
ObjectInputStream ois = new ObjectInputStream(is) ;
Set[] sets = (Set[]) ois.readObject() ;
long start = System.currentTimeMillis() ;
Set s1 = sets['美'];
Set s2 = sets['术'];
Iterator it = s2.iterator() ;
int[] ints = new int[10] ;
int k = 0 ;
while(it.hasNext()){
Integer i = (Integer) it.next() ;
if(s1.contains(i)){
ints[k] = i ;
k++ ;
if(k==10) break ;
}
}
System.out.println(System.currentTimeMillis()-start+"毫秒");
for (int i = 0; i < ints.length; i++) {
System.out.println(ints[i]);
}
}
}
本文介绍了一个使用Java实现的简单示例,包括如何通过输入输出流进行文件读写操作,并利用对象序列化技术将集合数据写入文件。此外,还展示了如何从文件中读取并解析这些数据。

被折叠的 条评论
为什么被折叠?



