文档章节

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:Echo程序(练手)

Abstract 概述 Echo程序,即在Client输入内容,Server接收到后在开头加上“Echo: ”后再返回给Client的程序。这是一个TCP连接的程序。 涉及: I/O Socket Multi-Thread 注意(坑): 网络IO中...

大鱼BIG_FISH
2015/11/17
0
0
java.io几种读写文件的方式

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

知止内明
08/06
0
0
java InputStream 文件读写 网络UDP/TCP

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

cicue
2014/09/15
0
0
十二, Java NIO与IO

当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计...

莫问viva
2014/03/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jrebel 激活服务,在springboot上面的进行热部署

1.安装JRebel 下载Jrebel插件,官网需要翻墙下载,需要的可以在csdn的下载区去进行下载 打开idea,File->settings 然后重启idea 2.破解JRebel 首先HELP -> JRebel -> Activation 在jrebel se...

glen_xu
52分钟前
1
0
设置版头的图片+网页布局

1.div的background-image(推荐) 2.div+image 1.是只有部分图,2是压图 1.frame 2.js(推荐) 因为frame不好设置大小

木之下
56分钟前
0
0
MyBatis组件之缓存实现及使用

一 .概述 先讲缓存实现,主要是mybatis一级缓存,二级缓存及缓存使用后续补充 Mybatis缓存的实现是基于Map的,从缓存里面读写数据是缓存模块的核心基础功能; 除核心功能之外,有很多额外的附...

Ala6
今天
1
0
SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式

SpringBoot序列化和反序列化Json时默认使用的是Jackson(例如使用@RequestBody反序列化前端传递过来的Json字符串时), 当我们前端使用Json字符串传递到后台时日期格式可能是时间戳(即long类...

帅得拖网速
今天
1
0
可自定义扩展底部列表对话框ListBottomSheetDialogFragment

因为需要,为了方便,构建了一个可以自定义扩展的底部列表对话框,可以应付大部分场景。 效果图如下: 1.默认实现: 2.自定义列表实现 3.自定义头部和列表实现 一.可实现功能 1.默认可实现通...

明月春秋
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部