《Java面向对象程序设计》学习笔记——第 12 章 输入流与输出流

​笔记汇总:《Java面向对象程序设计》学习笔记

​# 第 12 章 输入流与输出流

12.1 File 类

File 对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度和文件的读/写权限等,不涉及对文件的读/写操作。

创建 File 对象的构造方法有以下 3 个:

File(String filename);
File(String directoryPath,String filename);
File(File f,String filename);

其中, filename 是文件名字 ,directoryPath 是文件的路径, f 是指定成一个目录的文件。默认是当前目录。

12.1.1 文件的属性

常用方法,其他见书P329

  • public String getName() :获取文件的名字。
  • public boolean canRead() :判断文件是否是可读的。
  • public boolean canWrite() :判断文件是否可以被写入。
  • public boolean exists() :判断文件是否存在。
  • public long length() :获取文件的长度(单位是字节)。
// 例1:使用 File 类的一些方注,获取某些文件的信息
package tom.jiafei;
import java.io.*;
public class Example12_1 {public static void main(String args[]) {System.out.println(E.class.getPackage().getName); // tom.jiafei 输出包名File f1=new  File("C:\\chapter12","Example12_1.java");File f2=new File("c:\\chapter11");System.out.println(f1.getName()+"是可读的吗:"+f1.canRead());System.out.println(f1.getName()+"的长度:"+f1.length());System.out.println(f1.getName()+"的绝对路径:"+f1.getAbsolutePath());System.out.println(f2.getName()+"是目录吗?"+f2.isDirectory());}
}
// 例2:列出当前目录(应用程序所在的目录)下全部 java 文件的名字
// Example12_2.java
import java.io.*;
public class Example12_2 {public static void main(String args[]) {File dir=new File(".");FileAccept fileAccept=new FileAccept(); // 过滤fileAccept.setExtendName("java"); // 设置文件后缀名String fileName[]=dir.list(fileAccept); // 把所有满足条件的文件列出来,存入数组for(String name:fileName) {System.out.println(name);}}
}// FileAccept.java
import java.io.*;
public class FileAccept implements FilenameFilter {private String extendName;public void setExtendName(String s) {extendName="."+s;}public boolean accept(File dir,String name) { //重写接口中的方法return name.endsWith(extendName);}              
}

大概率不会考,了解就行

// 例3:Runtime 对象打开 windows 平台上的记事本程序并运行了例子 11.6
import java.io.*;
public class Example12_3 {public static void main(String args[]) {try{ Runtime ce=Runtime.getRuntime();File file=new File("c:/windows","Notepad.exe");ce.exec("java Example11_6"); ce.exec(file.getAbsolutePath());}catch(Exception e) {System.out.println(e);} } 
}

to be continued~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL MVCC的详解之Read View

文章目录 概要一、基于UNDO LOG的版本链1.1、行记录结构1.2、了解UNDO LOG1.3、版本链 二、Read View2.1、判定机制2.2、源码 三、参考 概要 在上文中,我们提到了MVCC(Multi-Version Concurrency Control)多版本并发控制,是通过undo log来实…

【校招VIP】TCP/IP模型之常用协议和端口

考点介绍: 大厂测试校招面试里经常会出现TCP/IP模型的考察,TCP/IP协议是网络基础知识,是互联网的基石,不管你是做开发、运维还是信息安全的,TCP/IP 协议都是你绕不过去的一环,程序员需要像学会看书写字一样…

174-地下城游戏

题目 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻…

element-ui中的el-table合并单元格

描述: 在写项目的时候有时候会经常遇到把行和列合并起来的情况,因为有些数据是重复渲染的,不合并行列会使表格看起来非常的混乱,如下: 而我们想要的数据是下面这种情况,将重复的行进行合并,使表…

升级Go 版本到 1.19及以上,Goland: file.Close() 报错: Unresolved reference ‘Close‘

错误截图 解决方法 File -> Settings -> Go -> Build Tags & Vendoring -> Custom tags -> 添加值 “unix” 原因 Go 1.19 引入了unix构建标签。因此,需要添加unix到自定义标签。 参考 https://blog.csdn.net/weixin_43940592/article/det…

any、unknown、never 和 void区别

any 类型: any 类型是 TypeScript 中的顶级类型,它可以接受任何类型的值,相当于取消了类型检查。 当将变量声明为 any 类型时,可以赋予它任何值,无论是数字、字符串、布尔值还是其他类型的值。 使用 any 类型可能会降…

MySql增量恢复

一、 使用二进制日志的时间点恢复 注意 本节和下一节中的许多示例都使用mysql客户端来处理mysqlbinlog生成的二进制日志输出。如果您的二进制日志包含\0(null)字符,那么mysql将无法解析该输出,除非您使用--binary模式选项调用它。…

高速收费站的智慧之选,工控机助力顺畅通行!

2020年初取消高速公路省界收费站后,全国高速公路进入“一张网运行、一体化服务”的新阶段。随着ETC用户量快速增长、驾乘人员对收费站高效通行需求不断提升,收费数据在线化运营及精准化、智能化、人性化的收费服务将成为主流。如何提高收费系统集成度、降…

软考高级系统架构设计师系列论文八十五:论软件产品线技术

软考高级系统架构设计师系列论文八十五:论软件产品线技术 一、摘要二、正文三、总结一、摘要 根据“十五”国防科技重点实验室—“机载XXPD火控雷达性能开发与评估实验室”的建设需求。我所在的中国x集团公司x所电子对抗研究部组织了用于该实验室目布式联网试验,主要任务是试…

h5逻辑_调用手机拨号功能

有时点击页面某个按钮&#xff0c;希望能掉起手机拨号页&#xff0c;实现步骤如下&#xff1a; [1] 在index.html中添加如下代码<meta name"format-detection" content"telephoneyes" />[2] 点击按钮调用函数callPhone (phoneNumber) {window.locat…

Java与Modbus-TCP/IP网络通讯

1.需求样例 举例5&#xff1a;浮点数参数读取&#xff08;读取温度测量值&#xff09;查看参数列表&#xff0c;温度测量值地址为320&#xff0c;根据Modbus协议&#xff0c;读取参数地址转换为16进制为&#xff1a;00H A0H&#xff0c;读取长度为2个字&#xff1a;00H 02H。 …

腾讯云服务器价格表大全_轻量服务器_CVM云服务器报价明细

腾讯云服务器租用费用表&#xff1a;轻量应用服务器2核2G4M带宽112元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、云服务器CVM S5实例2核2G配置280.8元一年、GPU服务器GN10Xp实例145元7天&#xff0c;腾讯云服务器网长期更新腾讯云轻量…

在Ubuntu上启动一个简单的用户登录接口服务

一个简单的用户登录接口 我使用 Python 和 Flask 框架来创建这个接口 首先&#xff0c;确保你已经安装了 Python 和 Flask。如果没有安装&#xff0c;可以通过以下命令在 Ubuntu 上安装&#xff1a; sudo apt update sudo apt install python3 python3-pip pip3 install Fla…

KASLR 内核随机地址配置开启

CONFIG_RANDOMIZE_BASE kernel features ---> Randomize of module region independently from the core kernel 参考链接&#xff1a;KASLR 内核动态地址 - kk Blog —— 通用基础 (abcdxyzk.github.io)

5G网关如何提升智慧乡村农业生产效率

得益于我国持续推进5G建设&#xff0c;截至今年5月&#xff0c;我国5G基站总数已达284.4万个&#xff0c;覆盖全国所有地级市、县城城区和9成以上的乡镇镇区&#xff0c;实现“镇镇通5G”&#xff0c;全面覆盖了从城市到农村的延伸。 依托5G网络的技术优势&#xff0c;智慧乡村…

5.6.webrtc三大线程

那今天呢&#xff1f;我们来介绍一下web rtc的三大线程&#xff0c;那为什么要介绍这三大线程呢&#xff1f;最关键的原因在于web rtc的所有其他线程都是由这三大线程所创建的。那当我们将这三个线程理解清楚之后呢&#xff1f;我们就知道其他线程与它们之间是怎样关系&#xf…

机器学习之Adam(Adaptive Moment Estimation)自适应学习率

Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种常用的优化算法&#xff0c;特别适用于训练神经网络和深度学习模型。它是一种自适应学习率的优化算法&#xff0c;可以根据不同参数的梯度信息来动态调整学习率&#xff0c;以提高训练的效率和稳定性。 Adam算法…

如何提取视频的音频到手机?这个音频提取方法很简单

提取视频中的音频可以帮助您获得视频的声音部分&#xff0c;而无需观看整个视频。这对于那些只想听视频的声音或想将视频的声音与其他音频内容混合使用的人来说非常方便。此外&#xff0c;提取音频也可以为需要创建音频剪辑或混音的音频制作者提供帮助。那么怎么提取呢&#xf…

Java接入支付宝支付

本文只接入了支付宝中的APP支付&#xff0c;如果要拓展更多支付方式的的话&#xff0c;请看文末补充 项目支付流程 前端发起创建订单请求后端接受请求创建订单&#xff0c;并将订单参数进行支付宝对应签名并返回前端拿到签名后调起支付宝支付 本文主要写的就是2的过程 前期准…

报名倒计时!| 基于RflySim平台飞控底层算法开发专题培训(第二期)

RflySim 暑期学校 飞思实验室“基于RflySim平台飞控底层算法开发”系列专题培训第二期开启报名了&#xff01;专题培训由戴训华副教授以及飞思实验室学生&工程师团队主讲&#xff0c;采用“线上线下”集中授课形式&#xff0c;培训时间为8月28日-9月3日&#xff1b;课程内…