黑马程序员
练习–文件复制
package IO_Demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo01_CopyFile {
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream("F:\\杂七杂八\\云同桌.png");
File file = new File("F:\\杂七杂八\\知网\\云同桌.png");
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(file);
byte[] bytes = new byte[1024*1024];
int len=0;
while ((len=fileInputStream.read(bytes))!=-1){
fileOutputStream.write(bytes,0,len);
}
fileInputStream.close();
fileOutputStream.close();
}
}
字节流
字符输入流读取字符数据
import java.io.FileReader;
import java.io.IOException;
public class Demo01_Reader {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader("F:\\杂七杂八\\b.txt");
int len=0;
while ((len=fileReader.read())!=-1){
System.out.print((char)len);
}
fileReader.close();
}
}
package IO_Demo;
import java.io.FileReader;
import java.io.IOException;
public class Demo01_Reader {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader("F:\\杂七杂八\\b.txt");
char[] chars = new char[1024];
int len=0;
while ((len=fileReader.read(chars))!=-1){
System.out.print(new String(chars,0,len));
}
fileReader.close();
}
}
字符输出流–writer&FlieWriter类
注意FileWrite的write方法是将数据写入缓存区中,并不是直接写入硬盘中
package IO_Demo;
import java.io.FileWriter;
import java.io.IOException;
public class Demo01_Write {
public static void main(String[] args) throws IOException {
FileWriter fileWriter = new FileWriter("F:\\杂七杂八\\a.txt",true);
fileWriter.write("ABCDE");
fileWriter.flush();
fileWriter.close();
}
}
close和flush
字符输出流写数据的其它方法
续写和换行
\r\n代表换行