Android Open Source - Profiterole Splitter






From Project

Back to project page Profiterole.

License

The source code is released under:

Apache License

If you think the Android project Profiterole listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package profiterole.mapreduce;
/* w w w .j av  a  2 s . c  om*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.File;
import java.util.LinkedList;
import java.util.List;

/** works linearly by all input to split it to workable units
 * 
 * @author Boris Farber
 *
 */
public class Splitter {
    
  public static List<File> folderToFileList(File path) {

    List<File> arr = new LinkedList<File>();

    if(path == null) {
      return arr;
    }

    File[] files = path.listFiles();
    for (int i = 0; i < files.length; i++) {
      if (files[i].isFile()) { // this line weeds out other
        // directories/folders
        arr.add(files[i]);
      }
    }
    return arr;
  }
  
  public static void splitFolder(File sourceFolder, File destFolder, int splitlen) {
    // TODO fill the method thus add ability to work with many files
    // thus support working with many files and inverted index
    List<File> files = folderToFileList(sourceFolder);
    
    
    
  }
  
  public static int splitFile(File sourceFile, File destFolder, int splitlen) {
    int count=1,data;
    try
    {
      long leninfile=0,leng=0;
          
      InputStream infile = new BufferedInputStream(new FileInputStream(sourceFile)); 
      data=infile.read();
      
      while(data != -1) {
        File filename=new File(destFolder + "//"+ sourceFile.getName() + count + ".sp");
        OutputStream outfile = new BufferedOutputStream(new FileOutputStream(filename)); 
        while(data!=-1 && leng<splitlen) {
          outfile.write(data);
          leng++;
          data=infile.read();
        }
        
        leninfile+=leng;
        leng=0;
        outfile.close();
        count++;
      }
    }
    catch(Exception e) {
      e.printStackTrace();
      return 0;
    }
    
    return 1;
  }
    
  public static void main(String args[]) {
    
    File destFolder = new File(System.getProperty("user.dir") + "//MapJobs//");    
    destFolder.mkdir();
    
    splitFile(new File(System.getProperty("user.dir") + "//pg1661.txt"), destFolder, 10000);
  
    // TODO big data
    //File destFolder = new File("C://Projects//BigData//Sample//Process");    
    //destFolder.mkdir();
    //splitFile(new File("C://Projects//BigData//Sample//Z1_data.xml"), destFolder, 1000000);  
  }
}




Java Source Code List

profiterole.android.DictionaryScreen.java
profiterole.android.SearchScreen.java
profiterole.api.MapReduce.java
profiterole.api.OnUpdateStatusCallback.java
profiterole.api.Waffle.java
profiterole.mapreduce.MapCallback.java
profiterole.mapreduce.MapReduceService.java
profiterole.mapreduce.Reducer.java
profiterole.mapreduce.Splitter.java
profiterole.samples.Driver.java
profiterole.samples.PrintPromptListener.java
profiterole.samples.REPL.java
profiterole.waffle.InvertedIndex.java
profiterole.waffle.WaffleBackend.java
profiterole.waffle.WaffleImpl.java
profiterole.waffle.WaffleUtils.java