之前写了一篇IO流,自己都不知道复制的是什么,决定重新写一篇,换个方式写:
一、总框架
二、自我觉得重要的事情总结
三、两个实例直接巩固知识
1、“背单词”:从单词本中读取单词每隔2秒输出到网页显示;可以去掉音标显示;可以改变单词显示的速度;可以增加测试的功能(单词含义可以随机选4个词的含义来让用户选择),可以增加标记生词并记到生词本中;。
//之后再优化效率,先写这么多啦
public class WordsFile { //读取单词本文件类
String path="F:/java/HelloWeb/src/EnglishWords/words.txt";
File file= new File(path);
String str;
public ArrayList<String> getfile() throws IOException {
//将字节流FileInputStream转换为gbk格式的字符流InputStreamReader,再转成BufferReader,因为我们要对文字处理,再一块读,所以用BufferReader,而非之前的直接读字节流
//上面的话是自我认定,需要老师确定
BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(file),"gbk")) ;
ArrayList<String> arr=new ArrayList<>();
while((str=in.readLine())!=null){ //BufferReader的方法:读一行
arr.add(str.trim()); //百度得单词本空前后有空格,trim去除空格,再add到ArrayList中
}
in.close(); //缓存流一定要记得关闭哈
return arr;
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
WordsFile w=new WordsFile();
ArrayList<String> arrayList=w.getfile();
for(int i=0;i<arrayList.size();i++){
System.out.println(arrayList.get(i));
}
}
}
2、“网络爬虫”:界面可以做成图形化界面;下载时可以判断是不是网页(其中有HTML标记);可以猜测网页的编码(charset);可以避免循环下载(将已下载过的网页记下来);可以处理相对地址;可以记录下来网页中得到的email地址等等。