根据视频学习总结记录一下IO操作
1:File可以操作文件以及创建文件目录
2:OutputStream和InputStream主要操作字节数据,以文件拷贝为主
3:如果程序输出数据使用PrintWriter(PrintStream),而输入数据则使用Scanner(BufferReader)
文件拷贝:
package StreamDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class StreamDemo1 {
public static void main(String[] args) throws Exception{
File infile=new File("E:"+File.separator+"test.doc");
File outfile=new File("D:"+File.separator+"demo.doc");
if(!outfile.getParentFile().exists()){
outfile.getParentFile().mkdirs();
}
InputStream input=new FileInputStream(infile);
OutputStream output=new FileOutputStream(outfile);
byte data[]=new byte[2048];
int temp=0;
while((temp=input.read(data))!=-1){
output.write(data, 0, temp);
}
}
}
输出数据
package StreamDemo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class StreamDemo2 {
public static void main(String[] args) throws Exception{
File file=new File("E:"+File.separator+"test.doc");
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
PrintStream out=new PrintStream(new FileOutputStream(file));
out.print("end");
out.close();
}
}
输入数据
package StreamDemo;
import java.io.File;
import java.io.FileInputStream;
import java.util.Scanner;
public class StreamDemo3 {
public static void main(String[] args) throws Exception{
File file=new File("E:"+File.separator+"test.doc");
Scanner scan=new Scanner(new FileInputStream(file));
scan.useDelimiter("\n");
while(scan.hasNext()){
System.out.println(scan.nextLine());
}
}
}