首页 > 代码库 > FileReader
FileReader
package file;import java.io.*;public class FileReader { public static void main(String[] args){// Demo1();// Demo2();// Demo3();// Demo4();// Demo5(); //Demo6(); Demo7(); } //file的使用例子 public static void Demo1() { File f = new File("e:\\file"); if(f.isDirectory()) { System.out.println(f.getPath()); } } public static void Demo2() { File f; //File.separator是分隔符,因为不同平台可能用的不一样,windows可能用\\而linux可能用// f = new File("e:" + File.separator + "file" + File.separator + "io.txt");//获得路径句柄 try { System.out.println(f.createNewFile());//创建文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //f.delete(); System.out.println(f.getPath()); } public static void Demo3() { File f=new File("e:\\file\\demo.txt");//构造一个路径的句柄 System.out.println(f.getPath()); System.out.println(f.getParent()); if(f.exists())//如果文件存在则删除,不存在则生成 { f.delete(); //System.out.println("文件已经存在!"); } else { try { System.out.println(f.createNewFile()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void Demo4() { File file=new File("e:"+File.separator+"file");//获得e:file文件句柄 String[] str=file.list();//使用list()将里面的文件都放在String 数组里 for(int i=0;i<str.length;i++) { System.out.println(str[i]); } } public static void fun(File f){ //判断给定的路径是否是目录,如果是目录在列出 if(f.isDirectory()){ File[] file = f.listFiles(); //再依次循环进行判断 try{ for(int i = 0;i < file.length;i++){ //继续把内容传入到fun方法之中进行验证 fun(file[i]); } }catch(Exception e){} } else{ System.out.println(f); } } //使用递归调用 扫描e盘所有的文件 public static void Demo5() { File file=new File("e:\\"); fun(file); } //fileInputStream的使用例子 public static void Demo6()//错误例子,不能直接用String将字节流转为字符,应该用InputStreamReader { try { File file=new File("e:"+File.separator+"file"+File.separator+"io.txt"); FileInputStream fis=new FileInputStream(file); byte[] b=new byte[fis.available()]; fis.read(b);//将文件的内容读取到byte数组中 fis.close(); String str=new String(b);//怎么会乱码??? System.out.println(str); } catch(IOException e) { e.printStackTrace(); } } public static void Demo7() { try { String encoding="GBK"; File file=new File("e:"+File.separator+"file"+File.separator+"io.txt"); FileInputStream fis=new FileInputStream(file);//从句柄中读取文件的字节流,创建字节流对象 if(file.isFile() && file.exists()) { InputStreamReader isr=new InputStreamReader(fis,encoding);//将字节流转化为字符流,创建字符流对象 BufferedReader bfr=new BufferedReader(isr);//BufferedReader对使用者输入的字符进行缓冲 String line=null; while((line=bfr.readLine())!=null) { System.out.println(line); } bfr.close(); } } catch(IOException e) { e.printStackTrace(); } } }
package file;import java.io.*;public class FileReader { public static void main(String[] args){// Demo1();// Demo2();// Demo3();// Demo4();// Demo5(); //Demo6(); Demo7(); } //file的使用例子 public static void Demo1() { File f = new File("e:\\file"); if(f.isDirectory()) { System.out.println(f.getPath()); } } public static void Demo2() { File f; //File.separator是分隔符,因为不同平台可能用的不一样,windows可能用\\而linux可能用// f = new File("e:" + File.separator + "file" + File.separator + "io.txt");//获得路径句柄 try { System.out.println(f.createNewFile());//创建文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //f.delete(); System.out.println(f.getPath()); } public static void Demo3() { File f=new File("e:\\file\\demo.txt");//构造一个路径的句柄 System.out.println(f.getPath()); System.out.println(f.getParent()); if(f.exists())//如果文件存在则删除,不存在则生成 { f.delete(); //System.out.println("文件已经存在!"); } else { try { System.out.println(f.createNewFile()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void Demo4() { File file=new File("e:"+File.separator+"file");//获得e:file文件句柄 String[] str=file.list();//使用list()将里面的文件都放在String 数组里 for(int i=0;i<str.length;i++) { System.out.println(str[i]); } } public static void fun(File f){ //判断给定的路径是否是目录,如果是目录在列出 if(f.isDirectory()){ File[] file = f.listFiles(); //再依次循环进行判断 try{ for(int i = 0;i < file.length;i++){ //继续把内容传入到fun方法之中进行验证 fun(file[i]); } }catch(Exception e){} } else{ System.out.println(f); } } //使用递归调用 扫描e盘所有的文件 public static void Demo5() { File file=new File("e:\\"); fun(file); } //fileInputStream的使用例子 public static void Demo6()//错误例子,不能直接用String将字节流转为字符,应该用InputStreamReader { try { File file=new File("e:"+File.separator+"file"+File.separator+"io.txt"); FileInputStream fis=new FileInputStream(file); byte[] b=new byte[fis.available()]; fis.read(b);//将文件的内容读取到byte数组中 fis.close(); String str=new String(b);//怎么会乱码??? System.out.println(str); } catch(IOException e) { e.printStackTrace(); } } public static void Demo7() { try { String encoding="GBK"; File file=new File("e:"+File.separator+"file"+File.separator+"io.txt"); FileInputStream fis=new FileInputStream(file);//从句柄中读取文件的字节流,创建字节流对象 if(file.isFile() && file.exists()) { InputStreamReader isr=new InputStreamReader(fis,encoding);//将字节流转化为字符流,创建字符流对象 BufferedReader bfr=new BufferedReader(isr);//BufferedReader对使用者输入的字符进行缓冲 String line=null; while((line=bfr.readLine())!=null) { System.out.println(line); } bfr.close(); } } catch(IOException e) { e.printStackTrace(); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。