1.File类
import java.io.File;
public class Main
{
public static void main(String[] args)throws Exception
{
File file=new File("F:"+File.separator+"JavaSE"+File.separator+"JaveEdu"+File.separator+"wjk.txt");
if(!file.getParentFile().exists())//getParentFile()得到wjk.txt的父目录,也就是wjk.txt之前的所有文件夹
{
file.getParentFile().mkdirs();//mkdirs()只能创建文件夹
}
for(int i=0;i<100;i++)
{
Thread thread=new Thread()
{
};
}
if(file.exists())
{
System.out.println("删除"+file);
file.delete();
}
else
{
System.out.println("创建"+file);
file.createNewFile();
}
}
}
2.File类
import java.io.File;
import java.io.IOException;
public class Main
{
public static void main(String[] args)throws IOException
{
File file=new File("E:/Downloads/Sex.Education.S02/");
if(!file.getParentFile().exists())//检查wjk.txt的父路径是否存在
{
file.getParentFile().mkdirs();
}
// file.createNewFile();
// if(file.exists()&&file.isDirectory())
// {
// System.out.println("list方法:"+Arrays.toString(file.list()));
// System.out.println("listFiles方法:"+Arrays.toString(file.listFiles()));//可以得到该路径下所有File类的对象实例
// }
//info(file);
}
public static void info(File file)//打印给定路径下的所有文件名
{
if(file.isDirectory())
{
File list[]=file.listFiles();
for(File temp:list)
{
info(temp);
}
}
else
{
System.out.println(file.getName());
}
}
}
3.InputStream
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class Main
{
public static void main(String[] args)//throws Exception
{
StringBuffer buf=new StringBuffer();
File file=new File("F:\\JavaIO\\JavaIODemo\\wjk.txt");
byte[] data=new byte[10];
int len=0;
try(InputStream input=new FileInputStream(file))
{
do
{
len=input.read(data);
if(len!=-1)
{
buf.append(new String(data,0,len));
}
}
while(len!=-1);
System.out.println(buf);
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}
OutputStream
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main
{
public static void main(String[] args) throws Exception
{
File file=new File("F:\\JavaIO\\JavaIODemo\\wjk.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
OutputStream outputStream=new FileOutputStream(file);//字节输出流
String msg="Consider it done";
byte data[]=msg.getBytes();//把字符串转为字节数组
outputStream.write(data);
outputStream.close();
}
}
Reader
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Main
{
public static void main(String[] args)
{
File file=new File("F:\\\\JavaIO\\\\JavaIODemo\\\\wjk.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
char[] data=new char[10];
try(Reader in=new FileReader(file))//输入流
{
int len=in.read(data,0,5);
in.read(data,len,5);
in.read(data);
//System.out.println(new String(data,0,len));
System.out.println(data);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
Writer
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Main
{
public static void main(String[] args)
{
File file=new File("F:\\JavaIO\\JavaIODemo\\wjk.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
try(Writer out=new FileWriter(file,true))//流类对象写在括号里可以在try结束后自动关闭
{
out.write("hahahrhgefrd");//覆盖
out.append('f');//追加
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
转换流(字节流转成字符流)
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class Main
{
public static void main(String[] args)throws IOException
{
File file=new File("F:\\JavaIO\\JavaIODemo\\wjk.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream(file));
out.write("haha");
out.flush();
out.close();
}
}
文件复制
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
class copyUtil
{
private File inFile;
private File outFile;
public copyUtil(String inPath,String outPath)
{
this.inFile=new File(inPath);
this.outFile=new File(outPath);
}
public copyUtil(String args[])
{
if(args.length!=2)
{
System.out.println("【ERROR】:参数错误!");
System.exit(1);
}
this.inFile=new File(args[0]);
this.outFile=new File(args[1]);
}
public long copy()throws IOException //返回文件拷贝时间
{
long start=System.currentTimeMillis();
InputStream inPut=null;
OutputStream outPut=null;
try
{
inPut=new FileInputStream(this.inFile);
outPut=new FileOutputStream(this.outFile);
byte data[]=new byte[2048];
int len=0;
while((len=inPut.read(data))!=-1)
{
outPut.write(data, 0, len);
}
//inPut.transferTo(outPut);此方法为JDK1.9后提供的拷贝方法,一句话完成拷贝
}
catch(IOException e)
{
System.out.println("dad");
throw e;
}
finally
{
if(inPut!=null)
{
inPut.close();
}
if(outPut!=null)
{
outPut.close();
}
}
long end=System.currentTimeMillis();
return end-start;
}
}
public class Main
{
public static void main(String[] args)throws IOException
{
String in="E:\\Java.png";
String out="F:\\Java1.png";
System.out.print("本次拷贝用时:");
System.out.println(new copyUtil(in,out).copy());
}
}