volume1_ch03

3.7.3 文件输入与输出

  • 示例1:读取自己电脑桌面上"test.txt"文件中的内容进行打印输出。
public class ReadFileSample
{
   public static void main(String[] args){

      /* > todo 启动路径因为编译方式不同而有所差异,
                  如果是命令行方式则启动路径就是命令解释器的当前路径
                  如果是使用集成开发环境,则启动路径由IDE控制
      */      
      String dir = System.getProperty("user.dir");      // 找到启动路径的位置
      
      // 找到桌面上"test.txt"文件所在的位置
      System.out.println("user dir:" + dir);
      System.out.println("Paths.get("..\\..\\..\\Desktop\\test.txt"): " + Paths.get("..\..\..\Desktop\test.txt"));

      // 读取"test.txt"文件中的内容,写入字符串str中
      Scanner scan = null;
      try {
         scan = new Scanner(Paths.get("..\..\..\Desktop\test.txt"), "UTF-8");      // 可能会抛异常
      } catch (IOException e) {
         e.printStackTrace();
      }

      StringBuffer str = new StringBuffer();
      while (scan.hasNext()) {
         str.append(scan.nextLine()).append('
');
      }
      System.out.println("文件内容为:" + str.toString());      // 输出
   }
}
  • 程序示例1运行结果:

  • 示例2:读取自己电脑桌面上"test.txt"文件中的内容并写入到桌面上的"myfile.txt"文件中。
public class ReadFileSample
{
   public static void main(String[] args){

      /* > todo 启动路径因为编译方式不同而有所差异,
                  如果是命令行方式则启动路径就是命令解释器的当前路径
                  如果是使用集成开发环境,则启动路径由IDE控制
      */      
      String dir = System.getProperty("user.dir");      // 找到启动路径的位置
      
      // 找到桌面上"test.txt"文件所在的位置
      System.out.println("user dir:" + dir);
      System.out.println("Paths.get("..\\..\\..\\Desktop\\test.txt"): " + Paths.get("..\..\..\Desktop\test.txt"));

      // 读取"test.txt"文件中的内容,写入字符串str中
      Scanner scan = null;
      try {
         scan = new Scanner(Paths.get("..\..\..\Desktop\test.txt"), "UTF-8");      // 可能会抛异常
      } catch (IOException e) {
         e.printStackTrace();
      }

      StringBuffer str = new StringBuffer();
      while (scan.hasNext()) {
         str.append(scan.nextLine()).append('
');
      }
      System.out.println("文件内容为:" + str.toString());      // 输出

      PrintWriter out = null;
      try {
         // 桌面上如果"myfile.txt"文件不存在则创建新文件
         out = new PrintWriter(String.valueOf(Paths.get("..\..\..\Desktop\myfile.txt")), "UTF-8");      // 可能会抛异常
      } catch (FileNotFoundException | UnsupportedEncodingException e) {
         e.printStackTrace();
      }

      assert out != null;             // 为了避免print方法调用空指针异常,此处加个断言
      out.print(str.toString());      // 向myfile.txt文件中写入
      out.close();                    // 关闭流并释放相关系统资源
   }
}
  • 程序示例2运行结果:
原文地址:https://www.cnblogs.com/ming-1012/p/13597689.html