File类常用方法-演示
public static void main(String[] args) {
//创建文件对象
File file = new File("D:/myDoc/myTest.txt");//解释构造
System.out.println(file.exists());
//判断文件是否存在
if(file.exists()){
System.out.println(file.getName()); //获取文件名;
System.out.println(file.length());//获得文件的大小
System.out.println(file.getPath());;//获取文件所在的相对路径
System.out.println(file.getAbsolutePath());//获取文件所在的绝对路径
}
System.out.println(file.isFile());//判断是否是一个文件
System.out.println(file.isDirectory());//判断是否是文件夹。
try {
file.createNewFile();//创建文件
System.out.println("创建成功!");
//file.delete();//删除文件
System.out.println("删除成功!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
java 流的分类
演示:使用FileInputStream类读取文本文件
public static void main(String[] args) throws IOException {
//1,创建输入,输出流对象
FileInputStream input = new FileInputStream("D:/myDoc/myTest.txt");
FileOutputStream out = new FileOutputStream("D:/myDoc/myTest1.txt");
//2.定义一个缓冲区,告诉程序一次性度多少。
byte[] datas = new byte[1024];
while(input.read()!=-1){
input.read(datas);//读进缓冲区
out.write(datas);//从缓冲区写入到文件当中
}
input.close();//关闭管道,输入流
out.close();//关闭管道,输出流
System.out.println("拷贝成功");
}
使用字符流读写文件(演示)
public static void main(String[] args) {
//创建 fileReader 对象
Reader fReader = null;
Writer writer = null;
StringBuffer sbf = new StringBuffer();
try {
fReader = new FileReader("D:\\myDoc\\aa.txt");
writer = new FileWriter("D:\\myDoc\\bb.txt");
char ch[] = new char[1024];//创建缓冲区,字符数组。
int length = fReader.read(ch); //将字符读入数组
//循环读取并追加字符
while (length!=-1) {
sbf.append(ch);//追加到字符串
length = fReader.read(ch);//改变循环条件
}
String wString = sbf.toString().replace("{name}", "哮天犬").replace("{type}", "神犬").replace("{master}", "二郎神");//替换文字
System.out.println(wString);
writer.write(wString);
writer.flush(); //刷新缓冲区
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fReader.close();//关闭流
writer.close();//关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 BufferedReader 读文本文件
public static void main(String[] args) {
FileReader fReader = null;
FileWriter fileWriter = null;
BufferedWriter bWriter = null;
BufferedReader bReader = null;
try {
//创建一个FileReader 对象
fReader = new FileReader("D:\\myDoc\\aa.txt");
//创建一个BufferedReader 对象
bReader = new BufferedReader(fReader);
//读取一行数据
String lineString = bReader.readLine();
fileWriter = new FileWriter("D:\\myDoc\\bb.txt");
bWriter = new BufferedWriter(fileWriter);
StringBuffer sBuffer = new StringBuffer();
while (lineString!=null) {
sBuffer.append(lineString);
bWriter.write(lineString);//写一行
bWriter.newLine();//换行
lineString = bReader.readLine();//读一行
}
bWriter.flush();//清空缓冲区,将数据写出
System.out.println(sBuffer);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bReader.close();
fReader.close();
bWriter.close();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
DataInputStream演示
public static void main(String[] args) {
DataInputStream dis = null;
DataOutputStream out =null;
try {
//创建输出流对象
FileInputStream fis = new FileInputStream("D:\\myDoc\\FileCopy.class");
dis = new DataInputStream(fis);
//创建输入流对象
FileOutputStream outFile = new FileOutputStream("D:\\myDoc\\temp.class");
out = new DataOutputStream(outFile);
int temp;
//读取文件并写入文件
while ( (temp = dis.read()) != -1) {
out.write(temp);
}
}catch (IOException ioe) {
ioe.printStackTrace();
}finally{
try{
if(dis!=null)
dis.close();
if(out!=null)
out.close();
}catch(IOException ex){
ex.printStackTrace();
}
}
}
以上是java当中针对文件读写进行操作,所需要用到的常用类。