文档章节

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
12.5-全栈Java笔记:Java网络编程(三)

上节回顾:在学习了Socket在建立客户端和服务器单项通讯中,分别创建独立的Socket,并通过Socket的属性。 那么如何将两个Socket进行连接,从而达到客户端和服务器之间建立输入输出流进行通信...

全栈Java
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

redis-hash

哈希类型是指健值本身又是一个键值对结构 基本命令: hset key field value 设置值 hget(获取),hdel(删除),hlen(计算field个数),hmget(批量设置),hexists(是否存在),hkeys(获取所有的...

拐美人
18分钟前
1
0
简单的svm例子

数据来源:https://github.com/oumiga1314/Coursera-ML-AndrewNg-Notes/blob/master/code/ex6-SVM/data/ex6data1.mat import pandas as pd import numpy as np import scipy.io as sio impor......

南桥北木
22分钟前
0
0
android 关于View的一些整理

1、Button text的值为英文时,会自动转换成大写。如需取消,设置android:textAllCaps="false" 2、控件的可见性 可以在layout的配置文件中,配置android:visibility属性 调用setVisibility()...

西米小娅
32分钟前
0
0
Spring JDBC数据源分析

Spring数据源分析 分析这样一段代码: package com.jason.spring.datasource.jdbc;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframew......

宸明
41分钟前
1
0
FatJar:适用于sdk多module打包和合并多个jar的gradle插件

usage: 1.下载fatJar.gradle放置于project根目录 2.在project的build.gradle中添加依赖和配置: apply from: 'fatJar.gradle'buildscript { dependencies { classpath 'xyz......

SuShine
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部