IO流实现csv文件到vcf文件生成

举个例子,用电子表格生成csv文件,并导入到C:\Users\***\Contacts目录下,然后再导出成为vcf文件,到目前为止,文件还没有生成我们最终想要的文件,还是一个个单个的文件,还需要再来一步,合并文件成为一个

copy /B *.vcf all.vcf

费时费力,我的电脑,导入一万多条cvs到电脑里面用了4个小时都没有完成,最后结束导入,结果电脑就这样了,内存溢出???

还说什么导出vcf给手机呢,

最后,我为什么不直接一步到位呢,然后就有了以下的代码,

直接打开单个vcf文件和多合一文件的vcf文件,就发现了一个规律

BEGIN:VCARD

END:VCARD

结尾,灵光一闪就出了这个,按照自己的想法,写出了下面的代码,一下仅仅是JAVA的,有谁可以改成C++,才是真的好,现在我也没有余力再次学习C++的了,

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        System.out.println("This is a phone number generator");
        BufferedWriter bfw = new BufferedWriter(new FileWriter("/dev/shm/OutPut.vcf"));

        System.out.println("请输入手机号码前缀:");
        Scanner sc = new Scanner(System.in);
        String prefix = sc.next();
        System.out.println("请输入手机号码后缀:");
        String postfix = sc.next();
        int length = 11 - prefix.length() - postfix.length();
        System.out.println("需要补全" + length + "位");
        if (length>0){
            extracted(bfw, prefix, postfix, length);
        }else {
            System.out.println("输入异常8888");
        }

    }

    private static void extracted(BufferedWriter bfw, String prefix, String postfix, int length) throws IOException {
        int pow = (int) Math.pow(10, length);
        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < pow; i++) {
            String loopString = i + "";
            int loopLength = (i + "").length();
            if (loopLength != length) {
                int k = length - loopLength;
                String s = "";
                for (int j = 0; j < k; j++) {
                    s = "0" + s;
                }
                loopString = s + loopString;
            }
            list.add(loopString);
            System.out.println(loopString);
        }
        for (int i = 0; i < list.size(); i++) {
            bfw.write("BEGIN:VCARD");
            bfw.newLine();
            bfw.write("VERSION:2.1");
            bfw.newLine();
            bfw.write("N:;" + list.get(i));
            bfw.newLine();
            bfw.write("FN:" + list.get(i));
            bfw.newLine();
            bfw.write("TEL;CELL;VOICE:" + prefix + list.get(i) + postfix);
            bfw.newLine();
            bfw.write("REV:20210923T021744Z");
            bfw.newLine();
            bfw.write("END:VCARD");
            bfw.newLine();
        }
        bfw.close();
        System.out.println("Ok");
    }

}
//BEGIN:VCARD
//VERSION:2.1
//N:;830000
//FN:830000
//TEL;CELL;VOICE:18983000048
//REV:20210923T021744Z
//END:VCARD

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 手机电话簿vcf-csv换工具是一种方便实用的软件工具,它可以将存储在手机电话簿中的联系人信息从vcf格式换为csv格式vcf是一种常用的联系人信息格式,但在某些情况下可能不太适合使用,比如要将联系人信息导入到一些特定的软件或设备中时。在这种情况下,将vcf格式换为csv格式就非常有用了。 这种换工具的使用非常简单,用户只需要将需要换的vcf文件导入到软件中,然后选择保存的文件格式csv,点击换按钮即可完成换过程。换后的csv文件可以在任何支持csv格式的软件或设备上打开和使用。 通过使用手机电话簿vcf-csv换工具,用户可以方便地将手机电话簿中的联系人信息导出到电脑或其他设备上,以备份或进行进一步的处理。比如,用户可以将换后的csv文件导入到邮件客户端或联系人管理软件中,以便更好地管理和组织联系人信息。 该换工具还具有一些其他功能,例如可以选择特定的联系人进行换,可以筛选掉不需要的联系人信息,还可以对换后的csv文件进行一些基本的编辑和调整。 总之,手机电话簿vcf-csv换工具为用户提供了一种方便快捷的方式来处理和管理手机电话簿中的联系人信息,使用户能够更加灵活地使用和共享这些信息。它的功能简单易用,对于需要频繁处理联系人信息的用户来说,是一个不可缺少的工具。 ### 回答2: 手机电话簿vcf-csv换工具是一种用于将.vcf(vCard文件换为.csv(逗号分隔值文件)的工具。.vcf文件是一种通用的电子名片格式,用于存储联系人的姓名、电话号码、电子邮件和其他相关信息。而.csv文件是一种常见的电子表格文件格式,可以在各种电子表格软件中进行编辑和使用。 这个换工具的作用是将.vcf文件中的联系人信息以逗号分隔的形式换到.csv文件中。在.vcf文件中,每个联系人的信息通常会被填写在一组BEGIN:VCARD和END:VCARD之间,而在.csv文件中,每个联系人的信息则会以逗号分隔,每个字段占一列。 使用这个换工具,用户可以方便地将手机电话簿上的联系人信息导出为.csv文件,以便在电子表格软件中进一步编辑、整理或备份。同时,用户还可以通过将.csv文件导入到手机或其他设备上,将联系人信息进行批量导入或同步。 一般而言,这种换工具都提供了简单易用的界面,用户只需选择要换的.vcf文件,然后选择换为.csv文件的保存路径,最后点击换按钮即可完成换过程。有些工具还可提供额外的选项,如选择换字符编码方式、指定.vcf和.csv文件的列分隔符,以满足不同用户的需求。 总之,手机电话簿vcf-csv换工具是一种方便实用的工具,能够帮助用户将手机电话簿上的联系人信息换为.csv文件,以便在电子表格软件中进一步应用和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值