FileIO相关练习
流: 在Java ApI 中,可以从其中读入一个字节序列的对象叫做输入流,而可以向其中写入一个字节序列的对象称做输出流。
File 创建文件(详情请查看JDK帮助手册)
一个实例:
File file=new File(“文件名称”);
读写文本文件 :
- 使用字节流读取文本文件
- 使用字符流读取文本文件
方法类
import java.io.File; import java.io.IOException; import java.util.Scanner; public class Methods { /** * 创建第一层文件夹 * @param Url */ public File createfirstFileSet(String Url){ File file=new File(Url); if (file.exists()) { System.out.println("已存在同名文件夹!"); } else{ file.mkdir(); } return file; } /** * 创建子文件夹 小弟新学,望大神指点迷津,谢谢 这个方法个人觉得欠妥 * @param name 文件夹路径 * @throws IOException */ public File createNewChildFileSet(File fatherfile,String childUrl) throws IOException{ File childfile = null; if (fatherfile.exists()) { //判断文件是否存在 childfile=new File(fatherfile,childUrl); //创建文件对象 childfile.mkdirs(); //执行创建操作 }else{ System.out.println("未找到父文件夹,是否继续创建(是:1)?");//基于是控制台输出所以 ,,其实可以使用Java界面弹窗响应 Scanner input=new Scanner(System.in); //可能会问为什么不用BufferedReader方法, 因为BufferedReader方法没有任何读入数字的方法 System.out.println("请选择:"); int result=input.nextInt(); input.close(); //关闭Scanner读取器 switch (result) { case 1: File file=new File(fatherfile.getPath()); file.mkdir(); //mkdir与mkdirs区别 createNewChildFileSet(file, childUrl); break; default: System.out.println("停止此方法"); break; } } return childfile; } /** * 在文件夹中添加txt,doc等格式的文件 */ public void AddFilesToFileSets(File toFileSet,String fileName){ if (toFileSet.isDirectory()) { //判断toFileSet文件是否为文件夹 File file=new File(toFileSet,fileName); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } /** * 流 C# 中只存在FileStream 类其中包含 读 数据的方法,写的方法。 * 而中给FileStream 分工更加明确了: 按流向分为输入流(OutputStream和Write作为基类 ),输出流(InputStream和Reader作为基类) * */
测试类
1 import java.io.File; 2 import java.io.IOException; 3 4 5 public class program { 6 public static void main(String[] args) { 7 File ChildStream=null; 8 File Childfile=null; 9 /** 10 * 创建文件夹结构 11 * File(File parent, String child) ;构造 12 * File(URI uri);构造 13 */ 14 Methods m=new Methods(); 15 File file=m.createfirstFileSet("E:流与文件"); //创建第一个文件 16 try { 17 ChildStream=m.createNewChildFileSet(file,"流"); //创建子文件 18 Childfile=m.createNewChildFileSet(file, "文件"); 19 } catch (IOException e) { 20 e.printStackTrace(); 21 } 22 /** 23 * 在文件夹中添加txt,doc 等格式文件 24 */ 25 m.AddFilesToFileSets(ChildStream, "流.txt"); 26 m.AddFilesToFileSets(Childfile, "文件.doc"); 27 28 /** 29 * 下面的是如何在txt,doc文本中 读取,写入数据 30 * 详细请参考JDK帮助手册 31 */ 32 33 } 34 }