1.计算《李尔王》一个段落Lear.txt里包含多少行、单词和字符

Poor naked wretches, wheresoe'er you are,
That bide the pelting of this pitiless storm,
How shall your houseless heads and unfed sides,
Your loop'd and window'd raggedness, defend you
From seasons such as these?  O, I have ta'en
Too little care of this!

标准答案是

Chars:  254
Words:   43
Lines:    6

我的解决方案:

import java.io.*;public class CountLear {public static void run() {try {BufferedReader rd = new BufferedReader(new FileReader("Lear.txt"));int countC = 0;int countW = 0;int countL = 0;while (true) {String line = rd.readLine();if (line == null) break;countL++;for (int i = 0; i < line.length() - 1; i++)if (!Character.isWhitespace(line.charAt(i)) && Character.isWhitespace(line.charAt(i + 1)))countW++;countC += (line.length() + 1); //Add  line feed charactercountW++;}System.out.printf("Chars:%5d%n", countC);System.out.printf("Words:%5d%n", countW);System.out.printf("Lines:%5d%n", countL);rd.close();} catch (IOException ex) {throw new RuntimeException(ex.toString());}}public static void main(String[] args) {run();}
}

2.将文本文件里的指定字母字符(无论大小写)删除,将结果保存在新的文本文件中,支持同时删除多个字符。

如原始文件TheWonderfulO.txt

Somewhere a ponderous tower clock slowly
dropped a dozen strokes into the gloom
Storm clouds rode low along the horizon,
and no moon shone.  Only a melancholy
chorus of frogs broke the soundlessness.

指定删除O后的TheWnderful.txt

Smewhere a pnderus twer clck slwly
drpped a dzen strkes int the glm
Strm cluds rde lw alng the hrizn,
and n mn shne.  nly a melanchly
chrus f frgs brke the sundlessness.

我的方案:

import java.util.Scanner;
import java.io.*;public class Wonderful {public static void run() {String[] buffer = new String[10];System.out.print("Input file: ");Scanner input = new Scanner(System.in);String rdname = input.next();System.out.print("Output file: ");String wtname = input.next();System.out.print("Letters to banish: ");String bs = input.next();try {BufferedReader rd = new BufferedReader(new FileReader(rdname));int lines = 0;while (true) {String line = rd.readLine();if (line == null) break;buffer[lines++] = line;}rd.close();PrintWriter wt = new PrintWriter(new BufferedWriter(new FileWriter(wtname)));for (int i = 0; i < lines; i++) for (int j = 0; j < bs.length(); j++) {buffer[i] = buffer[i].replace(Character.toUpperCase(bs.charAt(j)) + "", "");buffer[i] = buffer[i].replace(Character.toLowerCase(bs.charAt(j)) + "", "");}for (int i = 0; i < lines; i++)wt.println(buffer[i]);wt.close();} catch (IOException ex) {throw new RuntimeException(ex.toString());}}public static void main(String[] args) {run();}
}

解决这个问题我用到了String对象的replace方法,需要注意的是replace方法并不会改变调用它的字符串的内容。

Java文本文件读写 两个例题(2)相关推荐

  1. java学生管理系统界面录入_[两个例题教学中的学生插话] java学生管理系统界面...

    课堂教学是动态生成的过程,在教师的预设外经常会出现学生自己的不同想法,他们通过插话等方式表达,其中有些具有典型和代表性,教师应该在分辨后充分利用以达到较好的生成.下面是一元一次方程应用教学的两个例题教 ...

  2. Java文件读写操作(c站最全!一篇就够了)

    写在前面   你们好,我是小庄.很高兴能和你们一起学习Java.如果您对Java感兴趣的话可关注我的动态.   写博文是一种习惯,在这过程中能够梳理和巩固知识. Java文件读写操作 一.File类 ...

  3. c++解析csv 存入数组_使用Apache Commons CSV在Java中读写CSV

    介绍 这是专门针对Java读写CSV的库的简短系列文章的第二篇,也是上一篇文章" Core Java读写CSV"的直接续篇. Apache Commons CSV 在Apache的 ...

  4. Java开发月薪两万,需要达到怎样的技术水平?

     Java开发月薪两万,需要达到怎样的技术水平? 首先两万的月薪在BAT实在太普遍了,一般是高级工程师和资深工程师的职位.在阿里是p6~p7左右,在百度是t5左右,腾讯是t2-3左右,京东是t3-1, ...

  5. 作业:文件排版(文本文件读写)

    [问题描述] 英文电影中参演人员名单一般以某种方式进行排版显示.给定一个未排版的文件listin.txt,该文件中每行参演人员名单由冒号ldquo:rdquo分隔成前后两部分,但格式杂乱无章,单词(由 ...

  6. Java中的两个关键字——super、this

    Java中的两个关键字--super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  7. java中判断两个字符(或者字符串相等)

    string a,b;//两字符串 在java中判断两个字符(字符串)相等,用a.equals(b); if(a.equals(b)){ //如果相等,返回值为true }else{ //如果不相等, ...

  8. java如何读写json文件

    java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...

  9. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)

    ** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...

最新文章

  1. 贪心:remove K digits移除K个数字
  2. python线性表顺序存储实现_数据结构——基于C的线性表的顺序存储结构的基本操作的实现...
  3. Java中测长函数_Core Java测试题
  4. 【深度学习】词的向量化表示
  5. 协议类接口 - NAND
  6. 《深入理解Java虚拟机》读书笔记
  7. 低功耗/远距离lora模块:物联网智能家居、抄表多领域应用SX1262芯片方案
  8. 一步步编写操作系统 27 处理器微架构之流水线简介
  9. h5 右下角浮动按钮_意派Epub360丨国庆黄金周将至,分享9个H5互动营销思路
  10. ubuntu下解决csdn网页打不开的问题
  11. 值得收藏:一份非常完整的 MySQL 规范指南
  12. bzoj2648/2716 kdtree
  13. 递归算法计算二叉树中叶子结点数目 c语言,编写递归算法,计算二叉树中叶子结点的数目。...
  14. Qt编写可视化大屏电子看板系统31-模块9视频监控
  15. 13个医学图像 AI 入门项目- 都跑完你就超神了!
  16. 用piranha配置LVS
  17. 利用百度地图根据三点求位置
  18. HJY-E2B/4J、HJY-91A/8J电压继电器
  19. c语言喜羊羊,青青草原101C位之争,喜羊羊vs懒羊羊
  20. obs windows 编译 obs browser

热门文章

  1. 我的大学专业是计算机英语作文,电脑-Computers-大学英语作文_1500字_英语作文
  2. MacBook安装Windows10双系统时蓝屏,Your PC ran into a problem and needs to restar(KERNEL_SECURITY)
  3. JS+Position实现类接元宝游戏
  4. python 统计单词音节数
  5. 如何解决canvas生成图片显示不清晰问题?
  6. 亚马逊运营—短视频运营-listing中的宣传视频怎么拍摄
  7. 《把时间当朋友》 读书笔记 困境 醒悟
  8. 计算机网络二学位实验报告,计算机网络实验报告华科二学位.doc
  9. 当前主流的RPA厂商主要有哪些
  10. vb.net如何查询电脑麦克风收到声音_乐学培优线上课【电脑端】上线啦!让学习更震撼!...