1.创建目录与文件
本节我们用到文件操作的内容有File类中的mkdir()方法和createNewFile()方法,其中mkdir()用于创建文件目录,createNewFile()方法用于创建文件。源码如下:
public static void main(String[] args) throws IOException{
File file=new File("e://java目录");
boolean b=file.mkdir();
if(b){
System.out.println("目录创建成功!");
file=new File("e://java目录//java.txt");
boolean c=file.createNewFile();
if(c){
System.out.println("文件创建成功!");
}else{
System.out.println("文件创建失败!");
}
}else{
System.out.println("目录创建失败!");
}
}
2.递归法遍历文件
这里简单写一个递归遍历文件目录的例子。源码如下:
public static void listFile(File file){
if(file!=null){
if(file.isDirectory()){ //是目录
File f[]=file.listFiles(); //遍历目录
if(f!=null){
for(int i=0;i
listFile(f[i]); //递归调用
}
}
}else{ //是文件
System.out.println("file");
}
}
}
3.文件复制(读写)
下面的两个函数实现了文件的缓冲复制和非缓冲复制的方法。
public class IOStreamTest {
/*
* 缓冲
*/
public static void bufferStream() throws Exception {
BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("F://2014大学英语六级词汇.doc"));
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("E://复制的文件1.doc"));
int b=0;
long startTime=System.currentTimeMillis();
while((b=bufferedInputStream.read())!=-1){
bufferedOutputStream.write(b);
}
bufferedInputStream.close();
bufferedOutputStream.close();
long endTime=System.currentTimeMillis();
System.out.println("缓冲花费的时间是:"+(endTime-startTime));
}
/*
* 非缓冲
*/
public static void stream() throws Exception {
InputStream inputStream=new FileInputStream("F://2014大学英语六级词汇.doc");
OutputStream outputStream=new FileOutputStream("E://复制的文件.doc");
int b=0;
long startTime=System.currentTimeMillis();
while((b=inputStream.read())!=-1){
outputStream.write(b);
}
inputStream.close();
outputStream.close();
long endTime=System.currentTimeMillis();
System.out.println("非缓冲花费的时间是:"+(endTime-startTime));
}
public static void main(String[] args) throws Exception {
stream();
bufferStream();
}
}
4.web中文件上传
File file = new File("d:/10085temp");
if (!file.exists()) {
file.mkdirs();
}
String dateString = DateUtil.formatString(new Date(), "yyyyMMddHHmmss");
FileOutputStream fos = new FileOutputStream("d:/10085temp"+"/"+dateString+".jpg");
int size = 0;
byte[] buffer2 = new byte[2048];
while ((size =in.read(buffer2, 0, 2048)) != -1) {
fos.write(buffer2, 0, size);
}
fos.close();
本文主要写了一些java文件io操作的一些内容,相互学习。
关注微信号获得更多文章: