前言:我有一个出租车轨迹的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. RF读取excel

    pip install robotframework-ExcelLibrary (安装ExcelLibrary库) 关键字: Open Excel 打开excel Get Column Count 获 ...

  2. ASP.NET Core在 .NET Core 3.1 Preview 1中的更新

    .NET Core 3.1 Preview 1现在可用.此版本主要侧重于错误修复,但同时也包含一些新功能. 这是此版本的ASP.NET Core的新增功能: 对Razor components的部分类 ...

  3. 【Python秘籍】ASCII码与字符的转换

    如何在python中显示ASCII码呢?其实你只需要记住两个函数即可:ord()和 chr(),这两个函数都是python内置的函数,不需要引入任何的包,直接就可以使用. 一.显示ASCII码 显示A ...

  4. 05 python学习笔记-常用内置函数(五)

    1.sorted() 函数对所有可迭代的对象进行排序(默认升序)操作 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. l ...

  5. 解决 IDEA 创建 Gradle 项目没有src目录

    第一次写博客,前几天遇到一个问题,就是使用ider创建gradle项目后,src目录没有自动生成出来,今天就给大家分享一下怎么解决. 目录: 1.创建Gradle项目 2.解决没有生成src目录问题 ...

  6. SpringBoot 遇到 No identifier specified for entity

    No identifier specified for entity 从字面上不难看出来是没有设置主键 因为没有为标注为@Entity的实体类注明主键 import lombok.Data; impo ...

  7. Mysql数据库(一)数据库设计概述

    1.数据库的体系结构 1.1 数据库系统的三级模式结构是指模式.外模式和内模式. 1.2 三级模式之间的映射分为外模式/模式映射和模式/内模式映射. 2.E-R图也称“实体-关系图”,用于描述现实世界 ...

  8. Android H5混合开发(4):构建Cordova Jar包

    前言 上一节,介绍了原生项目如何嵌入Cordova,我们对Cordova的依赖使用的是CordovaLib Module,这也是安卓项目常用的方式. 但是,也有项目希望以Jar包的方式依赖Cordov ...

  9. Tesseract引擎编译

    1. 工具包下载链接 libtiff 4.09 http://download.osgeo.org/libtiff/tiff-4.0.9.zip leptonica 1.76.0 http://www ...

  10. 使用asp.net core 3.0 搭建智能小车2

    上一篇中我们把基本的运行环境搭建完成了,这一篇中,我们实战通过树莓派B+连接HC-SR04超声波测距传感器,用c# GPIO控制传感器完成距离测定,并将距离显示在网页上. 1.HC-SR04接线 传感 ...