java将数据写入到txt文件中(txt有固定的格式)

java将数据写入到txt文件中,这个应该对于学过java I/O的人来说是很简单的事情了,但是如果要将数据以固定的格式写入到txt文件中,就需要一定的技巧了。

这里举个简单的例子,以供参考:

比如我要将数据写成下面的样子:

1      |      2      |        3       |        4

5      |      6      |        8       |        9

也许看起来很简单的,因为每个数据所代表的长度是不一样的,也有可能编码不一样,所有在你看来很简单的事情就不应那么容易实现了。必须要每一个竖线和他下面的竖线是对其的。

这里就不再将写数据的过程提出来了,重点是让每一列的数据都能有一个同样的宽度:

public String formatStr(String str, int length) {
        str = "  "+str;
        int strLen = str.getBytes().length;
        if (strLen < length) {
            int temp = length - strLen;
            for (int i = 0; i < temp; i++) {
                str += ",| ";
            }
        }
        return str ;
    }

  

先讲解一个这个方法的作用:对于参数str而言,如果他的字节长度小于参数length的话,就用空格补齐。

这样做,有个问题,就是怎么确定length的长度为多少合适呢?

如果数据是从数据库中查找出来的,那么就取数据库中这个字段的最大长度即可。如果是从文件中读取的,那么最好就是遍历一下整个文件,从中获取每个字段的最大长度。

最后将方法返回的str用输出流写入到文件中,换行的话使用out.write(lineSeparator)即可。

时间: 2024-12-19 10:32:06

java将数据写入到txt文件中(txt有固定的格式)的相关文章

将数据写入到CSV文件中--出现“科学计数法”问题

在数据后面加上"/t" 或者加上/r 进行转义 Ends.Write(retReader["Statis_dt"].ToString() + ","); Ends.Write(retReader["BranchCode"].ToString() + ","); Ends.Write(retReader["OrganCode"].ToString() + ","); E

直接把数据库中的数据保存在CSV文件中

今天突然去聊就来写一个小小的demo喽,嘿嘿 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "CSV文件|*.CSV

利用spring batch 读取数据库中的数据写入到txt文件中

写一个job,其配置文件为: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:batch="http://www.springfram

Java导出List集合到txt文件中——(四)

有时候,需要将数据以一定格式导出到txt文件中.利用Java的IO可以轻松的导出数据到txt中. 1 package Action.txt; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileOutputStream; 6 import java.io.OutputStreamWriter; 7 import java.io.Writer; 8 import java.util.Array

将多个txt文件写入到一个txt文件中

今天在工作中遇到一个比较繁琐的问题,就是我们下载了几十个密钥,分在不同的txt文件中,但是我们在导入密钥的过程中是需要放在同一个txt文件中进行批量导入的,所以笨的方法就是手动 CTRL+C.CTRL+V,这样几十个文件下来,不仅效率很低,并且容易出错.为此,想到了利用java文件类来进行操作. 虽然大学里学的是软件工程专业,但是从来没有认真学习过,找的工作也不是开发,所以好多基础知识都不明白,为此只好找javaAPI来看. 下面是实现将多个txt文件的内容复制到一个txt文件中去的代码: pa

python操作txt文件中数据教程[1]-使用python读写txt文件

python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = './test/test.txt' contents = [] DNA_sequence = [] # 打开文本并将所有内容存入contents中 with open(filename, 'r') as f: for line in f.readlines(): contents.append(line

3.键盘输入10个数,放到数组中,(1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中

package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; /* * 3.键盘输入10个数,放到数组中 (1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中 */ public class Test3 { public static int[] arr = new int[10]; public static void

SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)

1/首先建立数据表 CREATE TABLE BasicMsg( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位地址码 . FlightID Varchar(10) NULL, --航班号) 2/ 建立存储过程 USE DF17DataProIF EXISTS (SELECT * FROM SYS.PROCEDURES WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[BulkDataP

从txt文件中读取数据放在二维数组中

1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.0300000.140000 2.7400008.920000 7.2900002.580000 7.4300001.850000 6.1300001.350000 4.280000 ... ... 2.在我的test.cpp中添加头文件,即可使用FILE类来读取txt文件中的数据 #include <stdi