mapreduce,java处理操作文件

问题描述

mapreduce,java处理操作文件

A文件
1 q*a*z
2 w*s*x
B文件
1 q
1 a
1 z
2 w
2 s
2 x
利用java代码怎么把A文件转变成B文件

解决方案

找到转换规律之后,然后就是读取A文件,
逐行读取readLine(),先用split("空格")将这一行数据进行分割,正常情况能分割成两条记录,然后再对第二条记录进行分割split("星号")
然后写入文件B中。这个需求还是很简单的。如果你熟悉文件操作的话,大概的伪代码如下:(没有开发环境,仅供参考)

 String value= fileAReader.readLine();
 while(value!=null){
    //空格分隔
        String[] current = value.split(" ");
        if(current!=null&&current.length==2){
             String first = current[0];
                 String second = current[1];
                 //对A文件的每一行的第二个元素用星号进行分割
             String[] starSplit = second.split("*");
                 for(String star :starSplit){
                     //将*号分割的数据写入文件B:first+每个星号分割的数据
                         fileBWriter.write(first+star);
                         fileBWriter.newLine();//换行
                 }
        }
}

解决方案二:

修正一下,上述循环最后一句,循环读取下一行,需要加一句。

 value= fileAReader.readLine();
时间: 2024-08-03 18:17:37

mapreduce,java处理操作文件的相关文章

replace-利用java io逐行操作文件并替换内容

问题描述 利用java io逐行操作文件并替换内容 A文件: as1 dfg1 hjkl1 逐行读取A文件的内容,将1替换成 一 后将替换后的内容写到B文件中 解决方案 BufferedReader readBuffer = new BufferedReader(new FileReader( new File("D:/aaaa.txt"))); BufferedWriter write = new BufferedWriter(new FileWriter(new File(&quo

利用java io操作多个文件

问题描述 利用java io操作多个文件 A文件: A B C D B文件: 1 2 3 4 利用java io操作A B 文件,得出 C文件: A 1234 B 1234 C 1234 D 1234 或者 A 1 A 2 A 3 A 4 B 1 B 1 B 2 B 3 B 4 ---- 大神求解 解决方案 第一种合并方式比较简单,A文件的逐行+B文件的全部内容,所以可以这样实现:先将B文件读入内存中存入中间变量中,然后逐行遍历A文件写入C文件. 参考实现如下,合并时注意添加必要的空格: imp

Java 中对文件的读写操作之比较

比较 Java 中对文件的读写操作之比较 作者:Jeru Liu日期:November 29,2000版本:1.0 Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行一次分析,归类,理清不同方法之间的异同点. 一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的.InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 OutputSt

在Java中操作Zip文件,压缩/解压

压缩 可随意转载,但请注明出处及作者SonyMusic2003.05.28==========================================================================在Java中操作Zip文件,压缩/解压 package test.nothing; import java.io.*;import java.util.*;import java.util.zip.*; import com.beaconsystem.util.*; impor

Java中对文件的操作

Java中对文件的操作 java中提供了io类库,可以轻松的用java实现对文件的各种操作.下面就来说一下如何用java来实现这些操作. 1.新建目录 <%@ page contentType="text/html;charset=gb2312"%> <% String filePath="c:/aaa/"; filePath=filePath.toString();//中文转换 java.io.File myFilePath=new java.i

Java中对文件的读写操作之比较

比较 Java 中对文件的读写操作之比较 Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行 一次分析,归类,理清不同方法之间的异同点. 一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的. InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 OutputStream 中我们有 FileOutputStream 这个对象. 用F

编程-一个用java操作文件并修改文件的内容的问题

问题描述 一个用java操作文件并修改文件的内容的问题 假设一个项目里有n个文件,n个文件中有n个无用的注释,这些注释都是这种格式的 /*无效资源开始 System.out.println("无效的内容"); 无效资源结束*/ 怎么才能通过java,把这些注释都删除掉? 解决方案 大概思路:以一个文件为例,依次读出文件中的内容,检查以"/*"开始,以"*/"结束的字符串,如果和给定注释内容相同就删除注释,至于程序,慢慢斟酌吧. 解决方案二: 正则

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一2.5 操作文件

2.5 操作文件 你已经学习了如何从文件中读写数据,然而文件管理的内涵远远比读写要广.Path和Files类封装了在用户机器上处理文件系统所需的所有功能.例如,Files类可以用来移除或重命名文件,或者查询文件最后被修改的时间.换句话说,输入/输出流类关心的是文件的内容,而我们在此处要讨论的类关心的是在磁盘上如何存储文件. Path接口和Files类是在Java SE 7中新添加进来的,它们用起来比自JDK 1.0以来就一直使用的File类要方便得多.我们认为这两个类会在Java程序员中流行起来

JAVA 中 jar 文件的编写和应用

JAVA中jar文件的编写和应用     我想JAVA的爱好者,尤其是初学者大都有过这样的经历,就是喜欢JAVA编程语言(这个人的情况可能不一样),但是有时候总会觉得JAVA的优点便是她的"致命"的缺点.大家的信念依旧是"一次编译,到处运行"但是就是因为至一点JAVA失去了好多,我们也失去了好多.也许大家都知道,现在业界最推崇的还是微软的技术微软的产品..net/c#/.vb/vb.net还是最流行的语言,最受欢迎的软件开发语言.因为这些语言都太好学太好用了.不像J