Java unicode字符-读写

Java unicode字符-读写,java,Java,当我用\u0001分隔字符串时,我希望有东西被替换 注意:我必须将数据写入文本文件,并从中创建一个配置单元文件。配置单元字段分隔符为\u0001。因此,如果我使用相同的分隔符将数据写入nfs文件,则该分隔符为空。i、 e没有字符。所以数据并没有反映在蜂巢中 写入nfs的代码: bw.write(StringUtils.join(str.toArray(), "\u0001")); package com.netapp.asup.hive.snappy; import java.io.Buff

当我用\u0001分隔字符串时,我希望有东西被替换

注意:我必须将数据写入文本文件,并从中创建一个配置单元文件。配置单元字段分隔符为\u0001。因此,如果我使用相同的分隔符将数据写入nfs文件,则该分隔符为空。i、 e没有字符。所以数据并没有反映在蜂巢中

写入nfs的代码:

bw.write(StringUtils.join(str.toArray(), "\u0001"));
package com.netapp.asup.hive.snappy;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;

public class Write {

    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File(args[0])));
        List str = new ArrayList();
        str.add("a");
        str.add("b");

        bw.write(StringUtils.join(str.toArray(), "\u0001"));

        bw.close();
    }

}
文件包含以下数据: abcdefgh

我希望每个字符都必须像这样分隔 a、 b,c,d,e,f,g,h

字符串列表将每个字符作为一项包含

有什么建议吗

完整代码:

bw.write(StringUtils.join(str.toArray(), "\u0001"));
package com.netapp.asup.hive.snappy;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;

public class Write {

    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File(args[0])));
        List str = new ArrayList();
        str.add("a");
        str.add("b");

        bw.write(StringUtils.join(str.toArray(), "\u0001"));

        bw.close();
    }

}

由于java版本5,我没有使用菱形运算符。

要做的一件事是指定编码

BufferedWriter bw = new BufferedWriter( 
                           new OutputStreamWriter(
                                new FileOutputStream(new File(args[0]),
                                Charset.forName("UTF-8")
                           )
                     );

您是否指定了“bw”的字符编码?你为什么要做“toArray”和什么是“str”?@matt说得对。我没有具体说明。请查看完整代码的编辑我仍然看不到字符之间的任何内容
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(args[0]),StandardCharsets.UTF_8))@GopsAB你在用什么查看它?如果将其作为utf-8编码的文本文件打开,则应该有3个字符\u0001是一个ctrl序列。我不知道你应该看什么,我明白。我希望在它们之间看到^A。是否尝试写入字符串“A\u0001b”?也许字符串utils起了作用。您如何查看该文件?