Java unicode字符-读写
当我用\u0001分隔字符串时,我希望有东西被替换 注意:我必须将数据写入文本文件,并从中创建一个配置单元文件。配置单元字段分隔符为\u0001。因此,如果我使用相同的分隔符将数据写入nfs文件,则该分隔符为空。i、 e没有字符。所以数据并没有反映在蜂巢中 写入nfs的代码: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
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起了作用。您如何查看该文件?