一、File文件操作类
java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
//Java文件操作
public class Test {
public static void main(String[] args) {
File file = new File("C:\\Users\\李昕阳\\Desktop\\Test1.txt");
if (file.exists() && file.isFile())// 若文件存在且是文件的形式
{
System.out.println("文件大小" + file.length());
// 若直接写成file.lastModified(),那么返回的时间就是从1970年1月1日开始到修改的时间并且单位为ms
// System.out.println("最后一次修改时间"+file.lastModified());
// 下面是将时间修改为年-月-日的格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy年mm月dd日 hh:mm:ss");
Date date = new Date(file.lastModified());
String mString = simpleDateFormat.format(date);
System.out.println("最后一次修改时间" + date);
// 删除文件
file.delete();// 将文件删除
} else {
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();
}
}
}
}
注:在windows的环境下,对于路径的书写是\\而在Linux的环境下对于路径的书写是/,为了解决这个问题,在引用路径时会采用File类的一个常量"public static final String separator "来描述
String sep = File.separator;
File file = new File("C" + sep + "Users" + sep + "李昕阳" + sep + "Desktop" + sep + "Test1.txt");
(2)getParentFile():返回值为File,取得父File对象
(4)isFile():返回值为boolean,判断文件是否存在
(6)length():返回值为long,取得文件大小()字节
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test
{
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\李昕阳\\Desktop\\Parent\\Java\\java.txt");
if(!file.getParentFile().exists())
{
//若文件java.txt的父目录不存在,就创建目录
file.getParentFile().mkdirs();
}
if(file.exists()&&file.isFile())
{
//若文件java.txt存在,就将文件删除
System.out.println("文件大小"+file.length());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy年mm月dd日 HH:mm:ss");
Date date = new Date(file.lastModified());
String mString = simpleDateFormat.format(date);
System.out.println("最后一次修改时间" + date);
file.delete();
}
else {
file.createNewFile();
}
}
}
package IO;
import java.io.File;
public class Test
{
public static void main(String[] args) {
File file = new File("C:\\Users\\李昕阳\\Desktop");
if(file.exists() && file.isDirectory())
{
File[] result = file.listFiles();
for(File file2:result)
{
System.out.println(file2);
}
}
}
}
1)根据文件路径创建File类对象 ;
2)根据字节流或字符流的子类实例化父类对象 ;
3)进行数据的读取或写入操作
4)关闭流(close())。
(2)OutputStream类中的方法
package IO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.print.attribute.standard.MediaSize.Other;
public class Test
{
public static void main(String[] args) throws IOException {
//1.
File file = new File("C:\\Users\\李昕阳\\Desktop\\Test\\Test.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
//2.
//覆盖
OutputStream outputStream = new FileOutputStream(file);
//追加
//OutputStream outputStream = new FileOutputStream(file,true);
//3.
String string = "\r\n123456789";
outputStream.write(string.getBytes());//全部输出
outputStream.write(string.getBytes(),0,5);//只输出[0,5)
//4.
outputStream.close();
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Test
{
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\李昕阳\\Desktop\\Test\\Test.txt");
if(file.exists())
{
InputStream inputStream = new FileInputStream(file);
byte[] data = new byte[1024];
int len = inputStream.read(data);
String string = new String(data, 0, len);
System.out.println("读取内容"+string);
inputStream.close();
}
}
}
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Test
{
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\李昕阳\\Desktop\\Test\\Test.txt");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
String string = "字符输出流";
Writer writer = new FileWriter(file,true);
writer.write(string);
writer.close();
}
}
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StreamCorruptedException;
import javax.sound.sampled.LineListener;
public class Test
{
public static void main(String[] args) throws IOException{
File file = new File("C:\\Users\\李昕阳\\Desktop\\Test\\Test.txt");
if(file.exists())
{
Reader reader = new FileReader(file);
char[] data = new char[1024];
int len = reader.read(data);
String string = new String(data,0,len);
System.out.println("读取内容"+string);
reader.close();
}
}
}