《Java 2实用教程》第10章 输入、输出流


1、File类



常用方法:

  • public String getName() 获取文件的名字
  • public boolean canRead() 判断文件是否是可读的
  • public boolean canWrite() 判断文件是否可被写入
  • public boolean exists() 判断文件是否存在
  • public long length() 获取文件的长度(单位是字节)
  • public String getAbsolutePath() 获取文件的绝对路径
  • public String getParent() 获取文件的父目录
  • public boolean isFile() 判断文件是否是一个普通文件而不是目录
  • public boolean isDictory() 判断文件是否是一个目录
  • public boolean isHidden() 判断文件是否是隐藏文件
  • public long lastModified() 获取文件最后修改的时间
  • public boolean mkdir() 创建目录
  • public String[] list() 用字符串形式返回目录下的全部文件
  • public File[] listFiles() 用File对象形式返回目录下的全部文件
  • public String[] list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件
  • public File[] list(FilenameFilter obj) 该方法用File对象形式返回目录下的指定类型的所有文件
  • 其他的自己看文档去

运行可执行文件时,使用java.lang包中的Runtime类。首先用Runtime类声明一个对象Runtime ec;,然后使用该类的getRuntime()静态方法创建这个对象ec = Runtime.getRuntime();,ec可以调用exec(String command)方法打开本地机器上的可执行文件或执行一个操作。

2、FilenameFilter接口

3、输入输出流

  • 输入输出原始字节流使用FileInputStream/FileOutputStream
  • 要读取字符文件使用FileReader/FileWriter
  • BufferReader可以使用readLine()按行读入,BufferWriter可以使用newLine()向文件写入一个回行符
  • RandomAccessFile中有seek来定位读写位置
  • 数据流允许程序按机器无关的风格读取java原始数据
  • 使用对象流时要保证对象和该对象的成员是序列化的

4、使用Scanner解析文件

  • 使用默认分隔符标记解析文件
  • 使用正则表达式作为分隔符解析文件
File file = new File("hello.java");
Scanner sc = new Scanner(file);
sc.useDelimiter(正则表达式);

参考资料

20175211 2017-2018-2 《Java程序设计》第六周学习记录(2)的更多相关文章

  1. 《Java程序设计》第二周学习记录(2)

    目录 3.1 运算符与表达式 3.3 if条件分支语句 3.7 for语句与数组 参考资料 3.1 运算符与表达式 和C语言基本上没有区别,要注意的是关系运算符的输出结果是bool型变量 特别要注意算 ...

  2. 《Java程序设计》第二周学习记录(1)

    目录 第2章 基本数据类型与数组 2.1 标识符与关键字 2.2 基本数据类型 2.3 类型转换运算 2.4 输入.输出数据 2.5 数组 参考资料 第2章 基本数据类型与数组 2.1 标识符与关键字 ...

  3. 《Java程序设计》第一周学习记录(2)

    目录 使用JDB调试程序 系统文件被覆盖的挽救 参考资料 使用JDB调试程序 JDB是JDK自带的基于命令行的调试程序.我们先来man一下吧(说到这里,我之前在翻娄老师的博客的时候看到一篇文章:做中学 ...

  4. 《Java程序设计》第一周学习记录(1)

    目录 Windows安装JDK.Git Linux下安装JDK.Git.IDEA 参考资料 Windows安装JDK.Git 到官网直接下载JDK,双击安装程序就正常安装就行了. 下载完以后,可以看到 ...

  5. 20175211 2018-2019-2 《Java程序设计》第二周学习总结

    目录 教材学习内容总结 第二章 第三章 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 其他(感悟.思考等,可选) 学习进度条 参考资料 教材学习内容总结 第二章 ...

  6. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  7. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

随机推荐

  1. 【工具】idea工具 java代码 gbk转utf8

    idea工具 https://github.com/downgoon/gbk2utf8 安装在目录下: /usr/local/gbk2utf8/bin 进入目录后直接执行 gbk2utf8 sourc ...

  2. figlet

    figlet https://aotu.io/notes/2016/11/22/figlet/  教程 npm i figlet --save-dev var figlet = require('fi ...

  3. 树莓派做coolpy服务器

    安装前需要了解的 1. coolpy是一个基于NodeJS的物联网平台(官网http://icoolpy.com). 注:国内物联网平台有乐联网,yeelink等,但只有coolpy是开源的. 2. ...

  4. 使用navicat连接 mysql时出现client does not support auth...upgrading Mysql Client

    问题报错:使用navicat时发现出现如下情况: 原因:发现是由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而在my ...

  5. vue-cli按需加载,懒加载组件

    vue来做一个单页面应用,当我们的项目越来越大,组件越来越多的时候,首次启动项目户特别慢,就算做一个加载框,蒙层之类的,体验也不会好,这个时候就需要按需加载 1.什么叫按需加载 所谓按需加载,顾名思义 ...

  6. spark_to_es

    package es import java.io.InputStream import java.text.SimpleDateFormat import java.util.{Calendar, ...

  7. 关于jmeter读取CSV文件的详细设置

    jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下 ...

  8. PBRT笔记(1)——主循环、浮点误差

    PBRT2与3之间的改动 增加了一个功能完备的BRDF模型,支持体积光照与重要性多重路径采样. 次表面散射,基于光线追踪技术,无需预处理. 解决浮点数四折五入的问题 光子映射 样本生成 第一章多了讲并 ...

  9. DWM1000 巧用Status 快速Debug

    在Debug DWM1000 的时候,可以巧用Status 加快Debug,例如如下代码 if (status_reg & SYS_STATUS_RXFCG) { …… } else { sp ...

  10. BZOJ 4644

    可以把修改当成删除再插入一个新的, 线性基不容易删除,就用线段树分治 好像手写的bitset在这里很慢 #include<bits/stdc++.h> using namespace st ...