java输入输出20:IO字节流(文本操作:文件中数据自减、统计字符出现的次数)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuming226/article/details/84455295
1、获取文本数据进行自减操作并写入文件中
package zifu;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo9_Test {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new FileReader("11.txt"));
		String line = br.readLine();
		br.close();
		int times = Integer.parseInt(line);
		if (times > 0) {
			System.out.println("您还有" + times-- + "次机会");
			FileWriter fw = new FileWriter("11.txt");
			fw.write(times + "");
			fw.close();
		} else {
			System.out.println("您的试用次数已到,请购买正版");
		}
		
	}
}
2、统计字符出现的次数
package zifu;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TreeMap;

public class Demo11_KeyValue {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new FileReader("11.txt"));
		TreeMap<Character,Integer> tm = new TreeMap<>();
		int b;
		while ((b = br.read()) != -1) {
			char c = (char) b;
			tm.put(c, !tm.containsKey(c) ? 1 : tm.get(c) + 1);
			/*if (!tm.containsKey(c)) {
				tm.put(c, 1);
			} else {
				tm.put(c, tm.get(c) + 1);
			}*/
		}
		br.close();
		
		BufferedWriter bw = new BufferedWriter(new FileWriter("copy.txt"));
		//FileOutputStream bw = new FileOutputStream("copy.txt");
		for (Character key : tm.keySet()) {
			switch (key) {
			case '\t':
				bw.write("\\t" + "=" + tm.get(key));
				break;
			case '\n':
				bw.write("\\n" + "=" + tm.get(key));
				break;
			case '\r':
				bw.write("\\r" + "=" + tm.get(key));
				break;
			default:
				break;
			}
			
			bw.write(key + "=" + tm.get(key));
			bw.newLine();
		}
		bw.close();
	}

}

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuming226/article/details/84455295