奉天承运,博主诏曰:
File类
代码演示
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) {
File f=new File("a.txt");//主要用路径字符串作为参数
System.out.println(f.isDirectory());//是不是文件夹
System.out.println(f.isFile());//是不是文件
System.out.println(f.length());//长度,1个中文字符3个字节长度
File f2=new File("test/hello");
System.out.println(f2.isDirectory());
System.out.println(f2.length());
System.out.println(f.getName());
System.out.println(f2.getName());
File file=new File("b.txt");//不存在的文件
System.out.println(file.isFile());
System.out.println(file.isDirectory());
//创建文件
try {
file.createNewFile();//创建文件
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(file.isFile());
//创建文件夹
File file2=new File("test/hello/c.txt");
// //获取上一级File对象,递归创建文件夹,在本机创建文件
File p = file2.getParentFile();//获取上一级File对象
p.mkdirs();
try {
file2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
// File p = file2.getParentFile();//获取上一级File对象
// File f3=new File("hhh/aaa/d.txt");
// f3.mkdir();//单层创建文件夹
// f3.mkdirs();//递归创建文件夹,连最后一集文件也会创建成文件夹
f.delete();//删除文件
File f4=new File("e.txt");
file2.renameTo(f4);
System.out.println(f4.getPath());//获取相对路径
System.out.println(f4.getAbsolutePath());//获取绝对路径
}
}
FileInputStream类 输入
代码演示
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class PInputStream {
public static void main(String[] args) throws Exception{//第二种方法直接抛异常,不再细节演示
// FileInputStream fis = null;
// try {
// fis = new FileInputStream("aaa/bbb/p2.txt");
// int tmp=0;
// while ((tmp=fis.read()) !=-1){
// System.out.print((char)tmp);
// }
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }finally {
// try {
// fis.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//方法二
FileInputStream fis=new FileInputStream("aaa/bbb/p2.txt");
byte[] b=new byte[fis.available()];
fis.read(b);
String s=new String(b);
System.out.println(s);
fis.close();
}
}
FileOutputStream类 输入
代码演示
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class POutputStream {
public static void main(String[] args) {
FileOutputStream fos=null;
try {
fos=new FileOutputStream("aaa/bbb/p3.txt",true);//追加写入,不加true就是替换写入
String s="啦啦啦啦啦啦啦啦";
byte[] b=s.getBytes();
fos.write(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("输入完成!");
}
}
将输入和输出写成静态方法,代码演示
import java.io.*;
public class PMethod {
public static void copy(String inpath,String outpath,boolean isAppend){
try{
String s=readFromFile(inpath);
whriteIntoFile(outpath,isAppend,s);
}catch (IOException e){
e.printStackTrace();
}
}
public static String readFromFile(String inpath) throws IOException {
File f=new File(inpath);
if(!f.exists())return null;
if(f.length()==0)return "";
FileInputStream fis=new FileInputStream(f);
byte[] b=new byte[fis.available()];
fis.read(b);
fis.close();
System.out.println("读取成功!");
return new String(b);
}
public static void whriteIntoFile(String outpath,boolean isAppend,String rst) throws IOException {
if(null==rst){
System.out.println("输入不能为空,写入失败");
return;
}
File f=new File(outpath);
if(f.getParentFile().exists()){
f.getParentFile().mkdirs();
}
FileOutputStream fos=new FileOutputStream(outpath);
fos.write(rst.getBytes());
fos.close();
System.out.println("写入成功!");
}
}
钦此。