关于Java中IO流的练习
练习一:统计一个文件calcCharNum.txt中字母‘A’和'a'出现的总次数。
package com.test; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; //练习一:统计一个文件calcCharNum.txt中字母‘A’和'a'出现的总次数。
/*
* 读取文件:FileInputStream
* 判断单个字符出现的次数,一次只能读一个,当读到的内容相符时,相应数量加1
*/
public class TestOne { public static void main(String[] args) {
// TODO Auto-generated method stub
//1.添加文件路径
File file=new File("E:\\calcCharNum.txt");
//2.创建流,读取文件
FileInputStream fis=null;
try {
fis=new FileInputStream(file);
int numA=0;
int numa=0;
int data=0;
while((data=fis.read())!=-1) {
if(new String((char)data+"").equals("a")) {
numa++;
}
if(new String((char)data+"").equals("A")) {
numA++;
}
}
System.out.println("a的个数:"+numa);
System.out.println("A的个数:"+numA);
System.out.println("总数:"+(numa+numA));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
练习二:在电脑E盘下创建一个文件为HelloWord.txt文件,
判断它是文件还是目录,
再创建一个目录IOTest,
之后将HelloWorld.txt移动到IOTest目录下去,
之后遍历IOTest这个目录下的文件。
package com.test; import java.io.File;
import java.io.IOException; /*
* 练习二:在电脑E盘下创建一个文件为HelloWord.txt文件,
判断它是文件还是目录,
再创建一个目录IOTest,
之后将HelloWorld.txt移动到IOTest目录下去,
之后遍历IOTest这个目录下的文件。
*/
public class TestTwo { public static void main(String[] args) {
// TODO Auto-generated method stub
//在E盘下创建文件
File file=new File("E:","HeloWorld.txt");
//创建文件
boolean isCreate;
try {
isCreate=file.createNewFile();
if(isCreate) {
System.out.println("创建文件成功");
}else {
System.out.println("创建文件失败");
}
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("创建文件失败");
}
//判断是文件还是目录
if(file.isFile()) {
System.out.println("这是一个文件");
}else {
System.out.println("这是一个目录");
}
//创建目录
File file2=new File("E:/IOTest");
file2.mkdirs();
//移动文件至目录下
if(file.renameTo(new File("E:/IOTest/HelloWorld.txt"))) {
System.out.println("文件移动成功");
}else {
System.out.println("文件移动失败");
}
//遍历目录
String[] arrs=file2.list();
for (String string : arrs) {
System.out.println(string);
}
}
}
关于Java中IO流的练习的更多相关文章
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- java 中 IO 流分为几种?(未完成)
java 中 IO 流分为几种?(未完成)
- JAVA中IO流总结
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...
- Java中IO流,输入输出流概述与总结
总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...
- java中IO流相关知识点
(一) 下边使用outputStream字节输出流进行写操作 package zdbIO;import java.io.File;import java.io.FileNotFoundExceptio ...
- Java中IO流
* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流. * 流按操作类型分为两种: * 字节流 : ...
- java中io流浅析
1.java.io包下File类:java程序中的此类的一个对象,就对应着硬盘中的一个文件或网络中的一个资源.File file1 = new File("d:\\io\\helloworl ...
- Java中IO流中的装饰设计模式(BufferReader的原理)
本文粗略的介绍下JavaIO的整体框架,重在解释BufferReader/BufferWriter的演变过程和原理(对应的设计模式) 一.JavaIO的简介 流按操作数据分为两种:字节流与字符流. 流 ...
- Java中IO流讲解(一)
一.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 流按操作类型分为两种: 字节流 : 字节流可以操作 ...
- JAVA中IO流详解
IO流:数据传输是需要通道的,而IO流就是数据传输的通道. IO流可以形象的比喻为运送货物的传输带. IO流的分类: ①根据操作的数据类型的不同可以分为 :字节流与字符流. ②根据数据的流向分为:输入 ...
随机推荐
- python编程实战
1.计算对称平方数 题目描述 打印所有不超过n(n<256)的,其平方具有对称性质的数,如11*11=121. 输入描述 无 输出描述 每行一个数,表示对称平方数 def f(n): flag ...
- Spring设计模式_策略模式/其他
策略模式特性 1.执行最终结果一样 2.执行过程和执行逻辑不一样 3.使用同一接口 达到目的就可以了 Git地址 https://github.com/wujiachengSH/WjcStrategy ...
- SpringBoot Mybatis EnumTypeHandler自定义统一处理器
需求 mybatis目前已经内嵌入了springboot中了,这说明其目前在数据访问层的绝对优势.而我们在开发的过程中,往往会在程序中使用枚举(enum) 来表示一些状态或选项,而在数据库中使用数字来 ...
- JVM基础系列第13讲:JVM参数之追踪类信息
我们都知道 JVM 在启动的时候会去加载类信息,那么我们怎么得知他加载了哪些类,又卸载了哪些类呢?我们这一节就来介绍四个 JVM 参数,使用它们我们就可以清晰地知道 JVM 的类加载信息. 为了方便演 ...
- docker-compose部署mysql无法访问
docker-compose部署mysql无法访问 这个问题困扰了我很久,当使用docker-compose部署mysql之后,进行容器后,使用mysql -u root -p 是可以访问的,而使用s ...
- 【Java基础】【04循环语句&方法】
04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式; ...
- ASP.NET Core使用Jaeger实现分布式追踪
前言 最近我们公司的部分.NET Core的项目接入了Jaeger,也算是稍微完善了一下.NET团队的技术栈. 至于为什么选择Jaeger而不是Skywalking,这个问题我只能回答,大佬们说了算. ...
- 痞子衡嵌入式:常用的数据差错控制技术(1)- 重复校验(Repetition Code)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-重复校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口的支持 ...
- 理解Python闭包概念
闭包并不只是一个python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...
- 网络协议抓包分析——TCP传输控制协议(连接建立、释放)
前言 TCP协议为数据提供可靠的端到端的传输,处理数据的顺序和错误恢复,保证数据能够到达其应到达的地方.TCP协议是面向连接的,在两台主机使用TCP协议进行通信之前,会先建立一个TCP连接(三次握手) ...