在千锋逆战学习Java的第32天
加油!
今天学习了IO框架的字符编码、字符流和File类
作业题
1.
ABC
2.
public class TestMyFile {
public static void main(String[] args) {
File file;
file = new File("Files//hello.txt");
if(file.exists() == true)
System.out.println(file.getAbsolutePath());
}
}
A:用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。
B:向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
C:可将字节流转换为字符流,并且可设置编码格式
11.
字节流:2 4 5
字符流:1 3
12.
14.
import java.io.*;
public class TestVerse {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("Files//test.txt");
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
OutputStream os = new FileOutputStream("Files//test2.txt");
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
PrintWriter pw = new PrintWriter(osw);
String[] str = new String[]{br.readLine(),br.readLine(),br.readLine(),br.readLine()};
for(int i = 0 ; i < 4 ; i++){
pw.println(str[str.length - 1 - i]);
}
pw.flush();
pw.close();
}
}
import java.io.*;
import java.util.Scanner;
public class TestChampion {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("Files//worldcup.txt");
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
System.out.println("请输入一个年份:");
Scanner input = new Scanner(System.in);
String str = input.next();
while(true){
String s = br.readLine();
if(s == null){
System.out.println("没有举办世界杯");
break;
}
if(s.contains(str)){
char[] chr = s.toCharArray();
for(int i = s.indexOf("/") + 1 ; i < s.length(); i++){
System.out.print(chr[i]);
}
}
}
}
}
import java.io.*;
import java.util.Scanner;
public class TestFile {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个路径:");
String str = input.next();
File file = new File(str);
InputStream is = new FileInputStream(str);
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
OutputStream os = new FileOutputStream(file.getParent() + "//copy_" + file.getName());
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
PrintWriter pw = new PrintWriter(osw);
if(file.isFile()){
File file2 = new File(file.getParent() + "//copy_" + file.getName());
file2.createNewFile();
while(true){
String str3 = br.readLine();
if(str3 == null)
break;
pw.println(str3);
}
pw.flush();
pw.close();
}
}
}