Java把一个文件,输出成多个文件

java

前言:我有一个出租车轨迹的txt文本,其中包括多条轨迹。我想把这个文本按照单条轨迹输出出来,每条轨迹放在一个txt文本中。

思路:重要问题就集中在,如何动态的指定输出文件的名字。我想到了StringBuilder,StringBuilder可以拼接字符串,我可以动态改变,代表输出路径的字符(我这里通过循环一个整数,然后再拼接到字符串上),这样就可以通过变化StringBuilder,来改变FIle对象对应的路径。

上代码(其中InputPoint是之前写好的一个读入文件的一个类)

import geotools.InputPoint;

import geotools.PointRule;

import java.io.*;

import java.util.ArrayList;

/**

* 写一个类,用来把文件中的轨迹,每条轨迹都放在一个文件中

*/

public class OneToMore {

public static OutputStreamWriter out;

public static ArrayList<PointRule> track=new ArrayList<>();

public static void oneToMore() throws IOException {

/**

* 每条轨迹得分别new一个file对象

*/

/*先把数据读进来*/

InputPoint inputPoint=new InputPoint();

ArrayList<PointRule> p=inputPoint.Read();

/**

* 先循环并按轨迹拆分

* 声明一个用来存储单条轨迹的集合

* 用布尔判断,声明时候开始读入什么时候结束

*/

boolean start=false;

int k=0;

for (int i=0;i<p.size()-1;i++){

if (start){

track.add(p.get(i));

}

if(p.get(i).getIsON()==1){

track.add(p.get(i));

start=true;

}

if (start&&p.get(i).getIsON()==0){

track.add(p.get(i));

start=false;

String filename="E://桌面//1118原数据//";

StringBuilder s=new StringBuilder(filename);

s.append(k);

s.append(".txt");

out = new OutputStreamWriter(

new FileOutputStream(new File(s.toString()),true));

BufferedWriter wr = new BufferedWriter(out);

for (int j=0;j<track.size()-1;j++) {

try {

wr.write(String.valueOf(track.get(j).getCarnum()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getIsON()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getDate()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getLat()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getLon()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getSpeed()));

wr.write("\t");

wr.write(String.valueOf(track.get(j).getDirect()));

wr.write("\n");

wr.flush();

} catch (IOException e) {

e.printStackTrace();

}

}

wr.close();

track.clear();

k++;

}

}

}

/**

* 程序入口测试

*/

public static void main(String[] args) throws IOException {

OneToMore.oneToMore();

}

}

 记录一下我的学习

以上是 Java把一个文件,输出成多个文件 的全部内容, 来源链接: utcz.com/z/391905.html

回到顶部