在千峰“逆战班”学习的第32天
今天的学习内容是字符流,包括字符流的父类Reader、Writer,字符节点流FileWrite、FileReader,桥转换流InputStreamReader、OutputStreamWriter,以及字符过滤流中的缓冲流和printWriter,还有File类中的方法和FileFilter接口
中国加油!武汉加油!千峰加油!我自己加油!!
作业:
1.ABC
2.
file = new File("hello.txt");
if(file.exists()){
System.out.println(file.getAbsolutePath());
}
10.A:可以一次性将多个字符写入输出流
B:封装print()/println()方法,支持写入后换行
C:可以将字节流转换成字符流,可以设置字符的编码方式
11.字符流:.java源文件 .html网页文件;字节流:.class字节码文件 .jpg图像文件 .mp3音乐文件
12.ObjectInputStream:字节流、读八种基本类型、读对象
ObjectOutputStream:字节流、写八中基本类型、写对象
BufferInputStream:字节流、读八种基本类型、缓冲功能
BufferedOutputStream:字节流、写八中基本类型、缓冲功能
DataInputStream:字节流、读八种基本类型
DataOutputStream:字节流、写八中基本类型
PrintWrite:字符流、写字符串并换行
PrintStream:字节流
BufferedReader:字符流、缓冲功能、读入一行文本
14.
public class Question14 {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
OutputStream os = new FileOutputStream("test2.txt");
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
PrintWriter pw = new PrintWriter(osw);
while(true){
String s = br.readLine();
if(s == null){
break;
}
pw.println(s);
}
pw.flush();
br.close();
pw.close();
}
}
public class Question17 {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
OutputStream os = new FileOutputStream("worldcup.txt");
OutputStreamWriter osw = new OutputStreamWriter(os);
PrintWriter pw = new PrintWriter(osw);
pw.println("2006/意大利");
pw.println("2002/巴西");
pw.println("1998/法国");
pw.println("1994/巴西");
pw.println("1990/德国");
pw.println("1986/阿根廷");
pw.println("1982/意大利");
pw.println("1978/阿根廷");
pw.println("1974/德国");
pw.println("1970/巴西");
pw.println("1966/英格兰");
pw.println("1962/巴西");
pw.println("1958/巴西");
pw.println("1954/德国");
pw.println("1950/乌拉圭");
pw.println("1938/意大利");
pw.println("1934/意大利");
pw.println("1930/乌拉圭");
pw.flush();
pw.close();
InputStream is = new FileInputStream("worldcup.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
System.out.println("请输入一个年份:");
String year = sc.next();
while(true){
String s = br.readLine();
if(s == null){
System.out.println("没有举办世界杯");
break;
}
if(s.startsWith(year)){
char[] c = s.toCharArray();
for(int i = s.indexOf("/") + 1; i <c.length;i++){
System.out.print(c[i]);
}
break;
}
}
}
}
public class Question18 {
public static void main(String[] args) throws IOException {
Scanner sc= new Scanner(System.in);
System.out.println("请输入文件名:");
String s = sc.next();
File file = new File(s);
if(file.exists()){
InputStream is = new FileInputStream(s);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
OutputStream os = new FileOutputStream("copy_" + file.getName());
OutputStreamWriter osw = new OutputStreamWriter(os);
PrintWriter pw = new PrintWriter(osw);
while(true){
String s1 = br.readLine();
if(s1 == null){
break;
}
pw.println(s1);
}
pw.flush();
br.close();
pw.close();
}else{
System.out.println("该文件不存在");
}
}
}