关于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流的分类: ①根据操作的数据类型的不同可以分为 :字节流与字符流. ②根据数据的流向分为:输入 ...
随机推荐
- Java Jvm运行机制原理
一:简介 在学习Java虚拟机之前,也就是Jvm之前,我想大家能够带着问题去学习,这样的话,大家学习起来也会比较有所获! 1.Java虚拟机(Jvm)是什么? 2.Java虚拟机是用来干什么的? 3. ...
- java中子类继承父类程序执行顺序问题
Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public ...
- Python内置函数(53)——repr
英文文档: repr(object) Return a string containing a printable representation of an object. For many type ...
- 前端笔记之JavaScript(十一)event&BOM&鼠标/盒子位置&拖拽/滚轮
一.事件对象event 1.1 preventdefault()和returnValue阻止默认事件 通知浏览器不要执行与事件关联的默认动作. preventdefault() 支持Chrome等高 ...
- 聚类——FCM
聚类——认识FCM算法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.FCM概述 FCM算法是基于对目标函数的优化基础上的一种数据聚类方法.聚类结 ...
- web进修之—Hibernate 关系映射(3)
概述 Hibernate的关系映射是Hibernate使用的难点或者是重点(别担心,不考试哦~),按照不同的分类方式可以对这些映射关系做一个分类,如: 按对象对应关系分: 一对一 多对一/一对多 多对 ...
- Azkaban学习之路 (三)Azkaban的使用
界面介绍 首页有四个菜单 projects:最重要的部分,创建一个工程,所有flows将在工程中运行. scheduling:显示定时任务 executing:显示当前运行的任务 history:显示 ...
- 【Vue.js】加载更多—vue-infinite-scroll
引言 今天用到了一个加载更多的插件,用起来很方便,插件的名字叫做vue-infinite-scroll 我们可以去npmjs.com官网看一下这个vue-infinite-scroll的用法,官网上面 ...
- 痞子衡嵌入式:并行接口NAND标准(ONFI)及SLC Raw NAND简介
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ONFI标准及SLC Raw NAND. NAND Flash是嵌入式世界里常见的存储器,对于嵌入式开发而言,NAND主要分为两大类:S ...
- [HEOI2018] 秘密袭击coat
Description 给定一棵 \(n\) 个点的树,每个点有点权 \(d_i\) ,请对于树上所有大于等于 \(k\) 个点的联通块,求出联通块中第 \(k\) 大的点权之和.\(n\le 166 ...