1.File对象
File file=new File(String pathName);
pathName指向的文件的路径
public class FileMethod { /** * 显示文件信息 * @param file 文件对象 * */ public void showFileInfo(File file){ //判断是否存在 if(file.exists()){ //判断是否是文件 if(file.isFile()){ System.out.println("名称:"+file.getName()); System.out.println("相对路径:"+file.getPath()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("文件大小:"+file.length()); } //判断是否是目录(文件夹) if(file.isDirectory()){ System.out.println("此文件是目录"); } }else{ System.out.println("文件不存在"); } } }
2.流
输入流:只能从中读取数据,而不能向其中写入数据。
输出流:只能从中写数据,而不能读数据。
JAVA的输出流主要由OutputStream和Writer作为基类, 而输入流则主要由InputStream和Reader作为基类。
流可以分为字节流和字符流
字节流操作最小数据单元为8位的字节,而字符流操作的最小数据单位是16位的字符。
字节输入流InputStream,字节输出流OutputStream。
字符输入流Reader基类,字符流输出Writer
读写文件
/** * 字符流输入和输出 * */ public class Test15 { public static void main(String[] args) { Writer w=null; try { w=new FileWriter("C:/c.txt"); BufferedWriter bw=new BufferedWriter(w); bw.write("你好世界!"); bw.newLine();//换行 bw.write("惊天其二"); bw.flush();//刷新动作 Reader r=new FileReader("C:/c.txt"); BufferedReader br=new BufferedReader(r); String line=br.readLine(); //判断是否为空 while(line!=null){ System.out.println(line); line=br.readLine(); } } catch (IOException e) { e.printStackTrace(); } } }
案例
//读文件的方法 public String readFile(String filePath) { //定义读文件的 Reader r=null; BufferedReader bf=null; try { r=new FileReader(filePath); bf=new BufferedReader(r); String line=bf.readLine(); //定义一个临时的String好返回 String temp=""; while(line!=null){ temp=temp+line+"\n"; line=bf.readLine(); } //返回读取文件 return temp; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { if(bf!=null){bf.close();} if(r!=null){r.close();} } catch (IOException e) { e.printStackTrace(); } } return null; } //写文件的方法 public void writeFile(String filePath,String str) { //写文件的方法 Writer w=null; BufferedWriter bw=null; try { w=new FileWriter(filePath); bw=new BufferedWriter(w); bw.write(str); bw.flush(); //刷新动作 } catch (IOException e) { e.printStackTrace(); }finally{ //关闭 try { if(bw!=null){bw.close();} if(w!=null){w.close();} } catch (IOException e) { e.printStackTrace(); } } }