佛山Java io流编程练习题(一)
作者:admin01发布时间:2021-07-13分类:Java技术浏览:711
导读:本文对JavaIO流的编程练习题做解答,里面有详细的思路解析,做题时最好养成先写思路在编程的习惯。1.在程序中写一个"HelloJavaWorld你好世界"输出...
本文对JavaIO流的编程练习题做解答,里面有详细的思路解析,做题时最好养成先写思路在编程的习惯。
1.在程序中写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中
package com.xykj.lesson5; import java.io.File; import java.io.FileOutputStream; public class Test5 { /** * 在程序中写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中 * * 程序分析:文件写入,要用到输出流FileOutputStream * */ public static void main(String[] args) { // 向文件D:/Hello.txt,写入内容 File file = new File("D:/Hello.txt"); try { // 创建输出流 FileOutputStream fos = new FileOutputStream(file); //把String类型的字符串转化为byte数组的数据保存在输出流中 fos.write("HelloJavaWorld你好世界".getBytes()); fos.flush();//刷新输出流 fos.close();//关闭输出流 } catch (Exception e) { e.printStackTrace(); } } }
2.拷贝一张图片,从一个目录到另外一个目录下(PS:是拷贝是不是移动)
package com.xykj.lesson6; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class Test6 { /** * 拷贝一张图片,从一个目录到另外一个目录下(PS:是拷贝是不是移动) * * 程序设计思路: * 这题不能使用renameTo, * 解题步骤: * 1、在目的地址创建一个图片文件 * 2、读取源地址文件的字节流 * 3、把读取到的字节流写入到目的地址的文件里面 * 4、刷新输出流,并关闭就可以了 * * @throws Exception * */ public static void main(String[] args) { // 本题示范把D盘下的mm.jpg复制到D盘java文件夹里面 // 源文件地址 File fileFrom = new File("D:/mm.jpg"); // 目的文件地址 File fileTo = new File("D:/java/mm.jpg"); // 1、创建目的文件地址 try { if (!fileTo.createNewFile()) { System.out.println("创建文件失败!"); } // 2、读取源地址文件的字节流 FileInputStream fis = new FileInputStream(fileFrom); FileOutputStream fos = new FileOutputStream(fileTo); int len = 0; byte[] buf = new byte[1024]; while ((len = fis.read(buf)) != -1) { // 3、把读取到的字节流写入到目的地址的文件里面 fos.write(buf, 0, len); } // 刷新下输出流 fos.flush(); // 关闭输入流和输出流 fis.close(); fos.close(); System.out.println("文件复制成功!"); } catch (Exception e) { e.printStackTrace(); } } }
3.统计一个文件calcCharNum.txt(见附件)中字母'A'和'a'出现的总次数
package com.xykj.lesson7; import java.io.File; import java.io.FileInputStream; public class Test7 { /** * 统计一个文件calcCharNum.txt(见附件)中字母'A'和'a'出现的总次数 * * 程序分析: * 读取文件用FileInputStream * 一次只读一个字节(一个字母就是一个字节),当字节内容和A或a相等时,相应的数量加1 * */ public static void main(String[] args) { try { //添加文件路径 File file = new File("D:/java/calcCharNum.txt"); //创建文件读取流 FileInputStream fis = new FileInputStream(file); int numA = 0;//字母A的数量 int numa = 0;//字母a的数量 int len = 0;//每次读取的字节数量 while ((len=fis.read())!= -1) { //统计字母a的数量 if (new String((char)len+"").equals("a")) { numa++; } //统计字母A的数量 if (new String((char)len+"").equals("A")) { numA++; } } //打印出文件内字母的数量 System.out.println("a的数量是:"+numa); System.out.println("A的数量是:"+numA); System.out.println("a和A出现的总次数:"+(numA+numa)); fis.close();//关闭输入流 } catch (Exception e) { e.printStackTrace(); } } }
4.统计一个文件calcCharNum.txt(见附件)中各个字母出现次数:A(8),B(16),C(10)...,a(12),b(10),c(3)....,括号内代表字符出现次数;
package com.xykj.lesson8; import java.io.File; import java.io.FileInputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; public class Test8 { /** * 统计一个文件calcCharNum.txt(见附件)中各个字母出现次数: * A(8),B(16),C(10)...,a(12),b(10),c(3)....,括号内代表字符出现次数; * * 程序分析: * 1.这里没中文字符,依然可以只用字节流来读取文件 * 2.不能保存相同的主键值,可以使用HashMap:key-value来实现 * 3.先获得该key的value,如果存在key的话value的值加1 * */ public static void main(String[] args) { // 文件路径 File file = new File("D:/java/calcCharNum.txt"); try { // 创建读取文件的输入流 FileInputStream fis = new FileInputStream(file); // 创建集合HashMap类存放要保存的key-value HashMap map = new HashMap<>(); // 读取文件 int len = 0;// 每次读取的文件长度 int count = 0; while ((len = fis.read()) != -1) { // 每次获取到的字母 char c = (char) len; //这里使用try catch是因为 map.get(c + ""),第一次get不到东西会出现空指针 try { // 通过每次的key值获取它的value值, // 但是在它的key值没有时或报空指针错误,所以要try catch处理 // 当她有key值,就可以获取到相应的value值 count = map.get(c + ""); } catch (Exception e) {// 什么都不用输出 } // 如果有它的key值对应的value值要加1 map.put(c + "", count + 1); } fis.close(); // 读完后把结果打印出来 //迭代器的使用 Iterator> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Entry entry = iterator.next(); System.out.print(entry.getKey() + "(" + entry.getValue()+ ") \t"); } } catch (Exception e) { e.printStackTrace(); } } }
免责声明:本文文字及图片由小编转载自网络,版权所有权归原作者所有,如有侵权请及时联系我们进行删除。
以上是小编为大家带来的最新资讯,喜欢的朋友们可以继续关注本站最新动态,也可以咨询在线客服。
- Java技术排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年11月 (14)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 清远信息:2024年广清杯清远南粤家政技能大赛举行决赛|||计算机培训机构
- 汕尾信息:陈良川带队到汕尾技师学院调研|||计算机职业技能培训班
- 东莞信息:凤岗凤岗镇组织召开社保参保缴费及劳动用工政策宣讲会|||计算机软件培训学校
- 阳江信息:2024年度注册城乡规划师职业资格考试的合格标准是怎样的?|||计算机软件培训学校
- 阳江信息:职业技能提升补贴对象有哪些?|||大学生计算机培训学校
- 清远信息:清远市首家社保服务合作网点在清城区举办启动仪式|||计算机职业技能培训班
- 汕头信息:招聘658名中高端人才!2024年汕头市引进中高端人才专场招聘会举行|||北大青鸟计算机培训中心
- 东莞信息:广东省社保智能经办现场会在东莞召开|||大学生计算机培训学校
- 东莞信息:东坑镇举办2024年重点群体系列招聘活动|||计算机职业技能培训班
- 东莞信息:万江万江街道成功举办第四届粤菜师傅烹饪技能竞赛|||广州计算机编程培训