前言:我有一个出租车轨迹的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把一个文件,输出成多个文件的更多相关文章

  1. 【转】java将excel文件转换成txt格式文件

    在实际应用中,我们难免会遇到解析excel文件入库事情,有时候为了方便,需要将excel文件转成txt格式文件.下面代码里面提供对xls.xlsx两种格式的excel文件解析,并写入到一个新的txt文 ...

  2. Linux中将一个GBK编码的文件转换成UTF-8编码文件

    Linux中将一个GBK编码的文件转换成UTF-8编码文件 使用iconv 命令iconv -f GBK -t UTF-8 file1 -o file2 输出另一个文件,然后再覆盖源文件内容

  3. java将文件打包成ZIP压缩文件的工具类实例

    package com.lanp; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  4. 使用visual studio把xsd文件转成xml格式文件

    使用visual studio把xsd文件转成xml格式文件 最近一段时间都在做Amazon的mws api的对接工作,mws api的描述文件都是使用的xsd文件来进行的,之前确实也没有接触过,也花 ...

  5. h5模型文件转换成pb模型文件

      本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换 ...

  6. Python3.6安装protobuf模块+将proto文件转换成pb2.py文件

    Python对版本的对应即为苛刻,笔者第一次安装时遇到了很多坑,比如无法将proto文件转换成py文件,转换了之后文件无法使用,网上各种各样的解决办法都没有讲到重点.其实会出现各种各样的问题是由于版本 ...

  7. cmake指定程序输出目录和库文件输出目录和拷贝文件

    概述 本文样式环境: win10+cmake 3.18 本文将介绍使用CMAKE配置项目输出目录和 LIbrary项目的输出目录 本文将介绍 cmake的file函数的基础用法之拷贝文件 重点, 这些 ...

  8. 把TXT GB2312文件转换成TXT UTF8文件

    /// <summary>        /// 把TXT GB2312文件转换成TXT UTF8文件        /// </summary>        /// < ...

  9. log4j配置文件及java调用 每个级别输出到不同的文件

    #配置根Logger log4j.rootLogger = DEBUG , RollingFile,CONSOLE #文件大小达到一定尺寸的时候创建一个新的文件 log4j.appender.Roll ...

随机推荐

  1. msf各种弱口令爆破

    Msf: 写的很乱 记录下msf各个爆破弱口令的模块 run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24 使用arp_scanner模块 ...

  2. Kali升级2018&&2019

    0X01修改更新源 vim /etc/apt/sources.list #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-f ...

  3. Ubuntu 安装中文

    系统环境:

  4. 关于git提交

    16年申请注册的git账号,除了需要找一些有用的demo时会逛一下,其实一直没拿起来真实用过. 好了,说一下今天下午呕心沥血弄出来的东西,其实就是简单的用git小黑窗口推文件夹上去,本人较笨,会按照我 ...

  5. PHP代码审计基础-高级篇

    高级篇主要讲 1. 熟知各个开源框架历史版本漏洞. 2. 业务逻辑漏洞 3. 多线程引发的漏洞 4. 事务锁引发的漏洞 在高级篇审计中有很多漏洞正常情况下是不存在的只有在特殊情况下才有 PHP常用框架 ...

  6. ESP32 开发之旅② Arduino For ESP32说明

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. 使用 Django 项目中的 ORM 编写伪造测试数据脚本

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 为了防止博客首页展示的文章过多以及提升加载速度,可以对文章列表进行分页展示.不过这需 ...

  8. Java 获取前一天的24小时

    //获取凌晨时间 public static Date getTodayStartTime(){ Calendar todayEnd = Calendar.getInstance(); todayEn ...

  9. bootstrap网格系统.html

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. phpstudy 升级mysql到mysql5.7

    前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: ? 1 [Err] 1294 - Invalid ON UPDATE clause for '字段名' column 报错的数据表字段: ...