直接说重点!
FileReader和FileWriter只能应用于文本文件,对于非文本文件只能使用字节流!
标准姿势1!读取文本文件内容
private static final String pathname = "./src/IOStream/HelloWorld.txt";
public static void testFileReader() {
File file = new File(pathname);
FileReader fr = null;
char[] readStr = new char[26];
int len;
try {
fr = new FileReader(file);
while ((len = fr.read(readStr)) != -1) {
String str = new String(readStr, 0, len);
System.out.print(str);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
System.out.println("Complete!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
标准姿势2!实现文件的读取和写入(实现文件复制)
private static void testFileCopy(String file, String dest) {
if (file.equals("")) {
System.out.println("需要复制的文件参数为空");
} else if (dest.equals("")) {
System.out.println("目标文件名为空");
} else {
FileReader fr = null;
FileWriter fw = null;
try {
char[] readStr = new char[26];
int len;
fr = new FileReader(file);
fw = new FileWriter(dest);
while ((len = fr.read(readStr)) != -1) {
fw.write(readStr,0,len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("Complete!");
}
}
}
public static void main(String[] args) {
String file = "./src/IOStream/HelloWorld.txt";
String dest = "./src/IOStream/HelloWorld2.txt";
testFileCopy(file, dest);
}