java中,如何将数据库查询的信息生成TXT文档,TXT文档有文件头和指定格式 20C

下面是改TXT文档格式,加粗字体为数据库查询结果,并且同一条记录金额时相同的

reqSerialno|transdate|conamount|amount|code|returncode|acctid|charge|tno|class|depacct
20180531000000001|**20180531**|**1000000000**|**1000000000**|**gx9001**|0000|x100001000001|0|gx30010001|0|
20180531000000002|**20180531**|**1000000000**|**1000000000**|**gx9001**|0000|x100001000001|0|gx30010002|0|
20180531000000003|**20180531**|**1000000000**|**1000000000**|**gx9001**|0000|x100001000001|0|gx30010003|0|

7个回答

第一步,先将数据查询出来,拼装成你要的string 格式。
第二步,用一个通过流把这个数据写出来就OK 了。
谢谢!

用java 1.5以上PrintWriter或者PrintStream新加的printf方法吧,可以像c语言的printf格式化每个栏位的长度的
比如:
public static void main(String[] args) {
for (int i = 0; i < 20; i += 3) {
System.out.printf("i=%5d\n", i);
}
}

要是写文件的话,就用PrintWriter套到Writer上,或者PrintStream套到OutputStream上,比如:
public static void main(String[] args) {
try{
FileOutputStream fos=new FileOutputStream("text.txt");
PrintStream ps=new PrintStream(fos);

for (int i = 0; i < 20; i += 3) {
ps.printf("i=%5d\n", i);
}
}catch(IOException e){
e.printStackTrace();
}
}

有几种方式吧
1.如果是临时使用的话,使用数据库管理工具直接导出csv格式,然后替换下就可以了
2.如果是java的话就用jdbc连接数据库,读取数据,生成想要的格式就可以了

数据库里导成excel格式,然后再编辑excel。这样就可以。

List> list = new ArrayList>();//数据库查询的信息
StringBuilder builder = new StringBuilder();
//文件头
builder.append("reqSerialno|transdate|conamount|amount|code|returncode|acctid|charge|tno|class|depacct")
.append("/r/n");
//拼成指定的格式
for (Map map : list) {
builder.append(map.get("reqSerialno")).append(map.get("|"))
.append(map.get("transdate")).append(map.get("|"))
.append(map.get("conamount")).append(map.get("|"))
.append(map.get("amount")).append(map.get("|"))
.append(map.get("code")).append(map.get("|"))
.append(map.get("returncode")).append(map.get("|"))
.append(map.get("acctid")).append(map.get("|"))
.append(map.get("charge")).append(map.get("|"))
.append(map.get("tno")).append(map.get("|"))
.append(map.get("class")).append(map.get("|"))
.append(map.get("class")).append("/r/n");
}

    try {
        // 创建文件对象
        File fileText = new File("D:\\translate.txt");
        // 向文件写入对象写入信息
        FileWriter fileWriter = new FileWriter(fileText);
        // 写文件
        fileWriter.write(builder.toString());
        // 关闭
        fileWriter.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

import au.com.bytecode.opencsv.CSVReader;

String[] line;
long count = 0;
while ((line = csvReader.readNext()) != null) {
count++;
if (count == 1) {
continue;
}
//做你想做的

将查询结果导出为csv文件,然后直接用文本工具打开,csv文件是以 "," 逗号作分隔,如有需要可以自己替换成"|"

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问