--java创建文件
File file=new File("java.txt");//此时java工作空间根目录下不一定存在java.txt
//判断是否存在不存在调用File类的createNewFile方法创建java.txt
File files=new File("E:\\war3");
if(!file.exists()){
file.createNewFile();
}
System.out.println(file.exists());//判断文件是否存在
System.out.println(file.isFile());//判断是不是文件
System.out.println(files.isDirectory());//判断是不是文件夹
System.out.println(file.getName());//获取文件名
System.out.println(file.getAbsolutePath());//获取文件绝对路径
//如果是文件夹 调用File类的listFiles方法以集合的形式获取其子文件 并打印其绝对路径
File[] arry=file.listFiles();
for (File f : arry) {
System.out.println(f.getAbsolutePath());
}
--FileInputStream 输入流 读取文件内容
File file=new File("java.txt");
FileInputStream fis=new FileInputStream(file);
--方法一
int num=0;
while((num=fis.read())!=-1){
System.out.println((char)num);
}
--方法二
byte[] bt=new byte[(int)file.length()];
int num1=0;
while((num1=fis.read(bt))!=-1){
String str=new String(bt);
System.out.println(str);
--FileOutputStream 输出流 写入文件
File file=new File("java.txt");
FileOutputStream fos=new FileOutputStream(file,true);
String str="hello world!";
--方法一
for(int i=0;i<str.length();i++){
fos.write(str.charAt(i));
}
System.out.println("写入成功!");
--方法二
byte[] bt=str.getBytes();
fos.write(bt);
System.out.println("写入成功!");
FileInputStram类和FileOutputStream类虽然可以高效率地读/写文件,但对于Unicode编码的文件,使用它们有可能出现乱码;
考虑到Java是跨平台的语言,要经常操作Unicode编码的文件,使用字符流操作文件是有必要的;
使用字符流将涉及到以下4个类:
>FileReader类和FileWriter类;
>BufferedReader类和BufferedWriter类。
--读取文件信息
File file=new File("java.txt");
FileReader fr=new FileReader(file); //创建文件输入字符流文件
BufferedReader br=new BufferedReader(fr);//创建文件输入字符流文件缓冲区
String str;
while((str=br.readLine())!=null){
System.out.println(str);
}
--写入文件
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("hello word!");
bw.newLine();
bw.write("hello java!");
bw.flush();