import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.io.FileNotFoundException;

public class communication {

public static void main(String[] args){
int i=0,j=0;
String content="GBK";
String filePath ="d:/lgq.txt";
readTxtFile(filePath);
String person1 = "A:";

String fileName1 ="D:/A.txt";
String fileName2 ="D:/B.txt";

String[] arrs1= new String[30];
String[] arrs2= new String[30];
String str1 = new String(); //原有txt内容

try {

String encoding=content;
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在

InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;

while((lineTxt = bufferedReader.readLine()) != null){

System.out.println(lineTxt);

if (lineTxt.contains(person1)){
arrs1[i]=lineTxt;

i++;

}else {
arrs2[j]=lineTxt;
j++;
}
}
System.out.println(Arrays.toString(arrs1));
System.out.println(Arrays.toString(arrs2));
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}

try {

File f1 = new File(fileName1);
createFile(fileName1);
// 建立输出字节流
FileWriter fos = null;
try {
fos = new FileWriter(f1);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 用FileWriter 的write方法写入字节数组
try {
for(int tmp1=0;tmp1<arrs1.length;tmp1++){
if(arrs1[tmp1]!=null){
fos.write(arrs1[tmp1]);
fos.write("\r\n");
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("写入成功");
// 为了节省IO流的开销,需要关闭
try {
fos.close();
} catch (IOException e) {

e.printStackTrace();
}
}catch (IOException e){
e.printStackTrace();
}
System.out.println(str1);
try {

File f2 = new File(fileName2);
createFile(fileName2);
// 建立输出字节流
FileWriter fos2 = null;
try {
fos2 = new FileWriter(f2);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 用FileOutputStream 的write方法写入字节数组
try {
for(int tmp2=0;tmp2<arrs1.length;tmp2++){
if(arrs2[tmp2]!=null){
fos2.write(arrs2[tmp2]);
fos2.write("\r\n");
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("写入成功");
// 为了节省IO流的开销,需要关闭
try {
fos2.close();
} catch (IOException e){
e.printStackTrace();
}
}
catch (IOException e){
e.printStackTrace();
}

// String a=new String [i];
// for( j=0;j<i;j++){
// if((String a[i]= bufferedReader.readLine())){

// }
// }

// System.out.println(Arrays.toString(a));
//创建目录
// String dirName = "D:/work/temp/temp0/temp1";
// String dirName = "D:";
// communication.createDir(dirName);
//创建文件
// String fileName = dirName + "/temp2/tempFile.txt";
//创建临时文件
// String prefix = "temp";
/*
* String suffix = ".txt";
* for (int i = 0; i < 10; i++) {
* System.out.println("创建了临时文件:"
* + communication.createTempFile(suffix, dirName));
* }
* //在默认目录下创建临时文件
* for (int i = 0; i < 10; i++) {
* System.out.println("在默认目录下创建了临时文件:"
* + communication.createTempFile(p suffix, null));
* }
*/
}

/**
* 读TXT文件内容
* @param fileName
* @return
*/
public static void readTxtFile(String filePath){

try {

String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在

InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;

while((lineTxt = bufferedReader.readLine()) != null){

System.out.println(lineTxt);

}

read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}

}

/**
* 创建文件
* @param fileName
* @return
*/
public static boolean createFile(String filename) {
File file = new File(filename);
if(file.exists()) {
System.out.println("创建单个文件" + filename + "失败,目标文件已存在!");
return false;
}
if (filename.endsWith(File.separator)) {
System.out.println("创建单个文件" + filename + "失败,目标文件不能为目录!");
return false;
}
//判断目标文件所在的目录是否存在
if(!file.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
System.out.println("目标文件所在目录不存在,准备创建它!");
if(!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
return false;
}
}
//创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + filename + "成功!");
return true;
} else {
System.out.println("创建单个文件" + filename + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + filename + "失败!" + e.getMessage());
return false;
}
}
public static boolean createDir(String destDirName) {
File dir = new File(destDirName);
if (dir.exists()) {
System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");
return false;
}
if (!destDirName.endsWith(File.separator)) {
destDirName = destDirName + File.separator;
}
//创建目录
if (dir.mkdirs()) {
System.out.println("创建目录" + destDirName + "成功!");
return true;
} else {
System.out.println("创建目录" + destDirName + "失败!");
return false;
}
}
public static boolean writeTxtFile(String content,File fileName)throws Exception{
RandomAccessFile mm=null;
boolean flag=false;
FileOutputStream o=null;
try {
o = new FileOutputStream(fileName);
o.write(content.getBytes("GBK"));
o.close();
// mm=new RandomAccessFile(fileName,"rw");
// mm.writeBytes(content);
flag=true;
} catch (Exception e) {

e.printStackTrace();
}finally{
if(mm!=null){
mm.close();
}
}
return flag;
}
}

将一个txt里的A和B谈话内容获取出来并分别保存到A和B的txt文件中的更多相关文章

  1. File操作-将txt里的内容写入到数据库表

    package com.Cristin.File;//将txt里的内容写入到数据库表 import com.Cristin.MySQL.AddDataToDB;import org.testng.an ...

  2. cmd命令行结果保存到txt里,屏幕显示一行就保存一行到txt

    #coding:utf-8 """ 1.重定向print 2.python与cmd命令 """ import sys import os i ...

  3. 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中

    #coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...

  4. SQL C# nvarchar类型转换为int类型 多表查询的问题,查询结果到新表,TXT数据读取到控件和数据库,生成在控件中的数据如何存到TXT文件中

    在数据库时候我设计了学生的分数为nvarchar(50),是为了在从TXT文件中读取数据插入到数据库表时候方便,但是在后期由于涉及到统计问题,比如求平均值等,需要int类型才可以,方法是:Conver ...

  5. 保存文件名至txt文件中,不含后缀

    准备深度学习的训练数据时,可能会用到将图片文件名保存到txt文件中,所以用python实现了该功能.输入参数只设了两个,图片存放路径,和输出的txt文件名. 代码里写死了只识别.jpg格式,并不进行目 ...

  6. 多个.txt文件合并到一个.txt文件中

    如果想要将多个.txt文件合并到一个.txt文件中,可以先将所有.txt文件放到一个文件夹中,然后使用.bat文件完成任务. 例如,在一个文件夹下有1.txt, 2.txt, 3.txt三个文件,想把 ...

  7. java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  8. python : 将txt文件中的数据读为numpy数组或列表

    很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算.本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从tx ...

  9. pandas 从txt读取DataFrame&DataFrame格式化保存到txt

    前提 首先保证你txt里的文本内容是有规律可循的(例如,列与列之间通过“\t”.“,”等指定的可识别分隔符分隔): 例如我需要读取的数据,(\t)分隔: (此文件内容是直接以DataFrame格式化写 ...

随机推荐

  1. 恢复误删除表黑科技之relay log大法(续)

      Preface       I've stuck twice in my previous experiments in backing up dropped tables.I am still ...

  2. Python全栈工程师(编码)

    ParisGabriel       Python 入门基础   补充: 主流3操作大系统 Windows: Winxp   Win7 Win8 Win10 Unix: Solaris(SUN) IO ...

  3. cloud-init代码调试方法

    新做的centos7.4镜像的cloud-init安装好之后,修改密码失败,但是同样的配置文件在7.2上的是正常的,对比了一下版本,centos7.4上的是0.7.9,7.2上的是0.7.5,经过调试 ...

  4. Ubuntu系列问题

    一.Ubuntu16.04 intel_rapl : no valid rapl domains found in packge0 echo 'blacklist intel_rapl' >&g ...

  5. glance参数

    Image service property keys https://docs.openstack.org/python-glanceclient/latest/cli/property-keys. ...

  6. 网络--路由表&IP选路

    路由表的 flags 字段显示路由状态: A 活动的休眠网关检测在路由上被启用.本字段只适用于 AIX 5.1 或更新版本. U :Up. H :路由至主机而不是网络. G :路由至网关. 不带G表示 ...

  7. C#共享内存

    百度:C#共享内存. 文章:C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转 资料:UnmanagedMemoryAccessor 资料:MemoryMappe ...

  8. Thymeleaf 模板 在spring boot 中的引用和应用

    Thymeleaf是一个java类库,他是一个xml/xhtml/html5的模板引擎和Struts框架的freemarker模板类似,可以作为mvc的web应用的view层. Thymeleaf还提 ...

  9. Mac平台重新设置MySQL的root密码

    Mac OS X - 重置 MySQL Root 密码 您是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码: 1.  停止 mysql server.  通常是在 ...

  10. Icarus Verilog和GTKwave使用简析

    Icarus Verilog和GTKwave使用简析 来源 http://blog.csdn.net/husipeng86/article/details/60469543 本文测试文件在window ...