文档章节

java io bufferedwrite bufferedreader

__鸡头
 __鸡头
发布于 2014/06/05 10:36
字数 285
阅读 45
收藏 0



//由于要暴力破解密码,今天就下载了n多个字典,由于每次要一个一个的搞有点麻烦,所以想把所有的字典中的内容从新写入到一个新的字典中,不罗嗦了,直接贴代码,希望能对大家有所帮助,由于是小白,代码质量差,勿见怪

package com.sam;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class MergeDictionary {

	// 获得路径  文件路径我保存在src下filePath.properties中
	public String getFilePath(String propertiesName) {
		Properties prop = new Properties();
		InputStream in = this.getClass().getClassLoader()
				.getResourceAsStream("filePath.properties");

		try {
			prop.load(in);
		} catch (IOException e) {
			e.printStackTrace();
		}

		return prop.getProperty(propertiesName).trim();
	}

	//将老文件的内容写入新文件
	public void mergeDictionary(String oldPath, String writeFileName) {
		try {
			BufferedReader br = new BufferedReader(new FileReader(new File(
					oldPath)));
			String line = null;
			BufferedWriter bw = new BufferedWriter(new FileWriter(
					writeFileName, true));
			bw.write("\n");
			while ((line = br.readLine()) != null) {
				bw.write(line + "\n");
			}
			bw.flush();
			bw.close();
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		String oldPath = new MergeDictionary().getFilePath("oldPath");
		String writeFileName = new MergeDictionary()
				.getFilePath("writeFileName");

		File filePath = new File(oldPath);
		File[] childs = filePath.listFiles();

		for (int i = 0; i < childs.length; i++) {
			if (childs[i].getName().equals("dictionary.txt")) {//因为我写的oldpath和新的路径是一样,所以要判断一下
			} else {
				new MergeDictionary().mergeDictionary(
						childs[i].getAbsolutePath(), writeFileName);
			}
		}
		System.out.println("successful!");
	}
}


© 著作权归作者所有

共有 人打赏支持
__鸡头
粉丝 1
博文 67
码字总数 23250
作品 0
闵行
私信 提问
加载中

评论(1)

大强森
大强森
人才,你标题错了
详细介绍Java语言中的IO系统

Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者...

风一样
2011/08/03
0
0
Java核心(五)深入理解BIO、NIO、AIO

导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。 BIO、NIO、AIO 的区别是什...

王磊的博客
2018/12/03
0
0
java InputStream 文件读写 网络UDP/TCP

java io流 传输操作 字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,字符流就是 : 字节流+编码表。 处理对象不同:字节流能处理所有类型的数据(如...

cicue
2014/09/15
0
0
浅谈Java的输入输出流

Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很...

crazyinsomnia
2010/03/22
235
0
java.io几种读写文件的方式

一、Java把这些不同来源和目标的数据都统一抽象为数据流。   Java语言的输入输出功能是十分强大而灵活的。   在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输...

知止内明
2018/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

嵌入式应用选择合适的微控制器

准备所需硬件接口列表 使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微控制器中有两种常见的接口类型需要列出。第一种是通信接口,这些是外围设备,如USB,S...

linuxCool
16分钟前
2
0
Group by使用

概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。 GROUP BY必须得配合...

小橙子的曼曼
28分钟前
3
0
机械臂写中文

Make Me a Hanzi https://www.skishore.me/makemeahanzi/ 使用uArm Swift Pro机械臂写中文-毛笔字 https://github.com/makelove/Robot_Arm_Write_Chinese...

itfanr
39分钟前
4
0
OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 逃跑计划《一万次悲伤 (Live)》 《一万次悲伤 (Live)》- 逃跑计划 手机党少年们想听歌,请使劲儿戳(这里) 现在...

小小编辑
今天
1K
14
test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部