ITPub博客

首页 > 应用开发 > Python > IO流之 文件操作字符流

IO流之 文件操作字符流

原创 Python 作者:ckxllf 时间:2020-03-18 10:59:22 0 删除 编辑

  1. 文件操作输入字符流

  FileReader 文件操作输入字符流

  Constructor 构造方法

  FileReader(File file)

  根据File类对象创建对应的FileReader字符流输入对象

  FileReader(String pathName)

  根据String类型文件路径创建对应的FileReader字符流输入对象

  如果文件不存在,抛出异常FileNotFoundException

  Method 成员方法

  int read();

  读取文件中的一个字符数据,通过返回值返回,返回值类型是int类型,但是在int类

  型中有且只有低16位数据有效

  int read(char[] arr);

  读取文件中的数据保存到字符数组中,返回值类型是读取到的字符个数

  int read(char[] arr, int off, int len);

  读取文件中的数据保存到字符数组中,要求从数组中下标offset开始,到len结束,返

  回值类型是读取到的字符个数

  代码展示

  public class Demo1 {

  public static void main(String[] args) {

  long start = System.currentTimeMillis();

  readTest2();

  long end = System.currentTimeMillis();

  System.out.println("Time : " + (end - start));

  }

  // 10

  public static void readTest2() {

  FileReader fileReader = null;

  try {

  fileReader = new FileReader(new File("G:/test/1.txt"));

  char[] buf = new char[1024 * 4];

  int length = -1;

  while ((length = fileReader.read(buf)) != -1) {

  System.out.println(new String(buf, 0, length));

  }

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } finally {

  if (fileReader != null) {

  try {

  fileReader.close();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  }

  // 300

  public static void readTest1() {

  FileReader fileReader = null;

  try {

  fileReader = new FileReader(new File("G:/test/1.txt"));

  int content = -1;

  while ((content = fileReader.read()) != -1) {

  System.out.println((char) content);

  }

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } finally {

  if (fileReader != null) {

  try {

  fileReader.close();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  }

  }

  2. 文件操作输出字符流

  FileWriter文件操作输出字符流

  Constructor 构造方法

  FileWriter(File file);

  根据File类对象创建对应文件的文件操作输出字符流

  FileWriter(String pathName);

  根据String类型文件路径创建对应文件的文件操作输出字符流

  FileWriter(File file, boolean append);

  根据File类对象创建对应文件的文件操作输出字符流,并要求为追加写

  FileWriter(String pathName, boolean append);

  根据String类型文件路径创建对应文件的文件操作输出字符流,并要求为追加写

  如果创建FileWrite对象时,这里文件不存在,路径合法,这里会创建对应的操作文件。如果路径不合法,抛出异常 FileNotFoundException

  Method 成员方法

  void write(int ch);

  写入一个char类型数据到文件中

  void write(char[] arr);

  写入一个char类型数组到文件中

  void write(char[] arr, int offset, int length);

  写入一个char类型数组到文件中,要求从offset下标位置开始读取数组数据,长度为

  length

  void write(String str);

  写入一个字符串到文件中

  void write(String str, int offset, int lenght);

  写入一个字符串到文件中,要求从指定字符串offset下标位置开始,长度为length

  如果写入数据操作过程中,发生问题,这里会有一个IOException

  代码展示

  public class Demo1 {

  public static void main(String[] args) {

  FileWriter fileWriter = null;

  try { 郑州做人流医院哪家好 http://www.020gzzj.com/

  fileWriter = new FileWriter(new File("G:/test/1.txt"), true);

  char[] charArray = "为天地立心".toCharArray();

  fileWriter.write(charArray);

  fileWriter.write("为生民立命");

  fileWriter.write("\r\n");

  fileWriter.write(charArray, 0, 5);

  fileWriter.write("为往圣继绝学", 0, 5);

  } catch (IOException e) {

  e.printStackTrace();

  } finally {

  if (fileWriter != null) {

  try {

  fileWriter.close();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  }

  private static void writeTest1() {

  FileWriter fileWriter = null;

  try {

  fileWriter = new FileWriter(new File("G:/test/2.txt"), true);

  fileWriter.write('武');

  fileWriter.write('汉');

  fileWriter.write('加');

  fileWriter.write('油');

  fileWriter.write(',');

  fileWriter.write('中');

  fileWriter.write('国');

  fileWriter.write('加');

  fileWriter.write('油');

  fileWriter.write(',');

  fileWriter.write('世');

  fileWriter.write('界');

  fileWriter.write('加');

  fileWriter.write('油');

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } finally {

  if (fileWriter != null) {

  try {

  fileWriter.close();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69945560/viewspace-2681095/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    204
  • 访问量
    262652