Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Java错误中的空间_Java_Csv - Fatal编程技术网

删除Java错误中的空间

删除Java错误中的空间,java,csv,Java,Csv,基本上,我的程序将把数据转换成.CSV格式。但是,我面临一个错误,当我在excel中打开文件时,它会正常显示我的数据,但在记事本中,它会变成一些字符㈬㥙〳㈬㥙ㄳ㌬かㄹ㌬か㌹㌬ㅋㄳ㌬ㅋ㈳㌬ㅋ㌳㌬ㅋ㐳 这是我的代码行 String resultString = stringWriter.toString(); for ( String cheese: pie.keySet() ) { resultString += System.getProperty("line.separator") +

基本上,我的程序将把数据转换成.CSV格式。但是,我面临一个错误,当我在excel中打开文件时,它会正常显示我的数据,但在记事本中,它会变成一些字符㈬㥙〳㈬㥙ㄳ㌬かㄹ㌬か㌹㌬ㅋㄳ㌬ㅋ㈳㌬ㅋ㌳㌬ㅋ㐳

这是我的代码行

String resultString = stringWriter.toString();
for ( String cheese: pie.keySet() ) {
    resultString += System.getProperty("line.separator") + cheese + "," + 
    pie.get(cheese).toString();

    resultString = resultString.replaceAll(",$" , "").replaceAll(" ", "");
}

this.WriteToFile(resultString);
我有多个文件使用此方法删除空间,但只有此文件有错误。我尝试了多种方法,例如在第一个resultString之前和pie.getcheese.toString的后面删除它


也尝试使用.replace;和replaceAll\\s,

数据包含特殊字符。使用默认编码无法正确呈现这些字符。因此,在编写/创建文本/csv文件时,还应将字符编码设置为UTF-8。您可以在JAVA程序本身中实现这一点。

我认为记事本不能很好地处理非标准编码。请尝试一种可能可以做到这一点的替代方法。@DragonDraick,因为这是一个程序,适用于需要使用记事本中打开的文件的用户,因此实际上没有使用其他程序的选择。看起来像是编码问题。写文件和用notepad++打开文件时是否使用相同的编码?如何在文件中写入数据?您是否使用正确的文件编码?尝试新的FileOutputStreamoutfilename、UTF-8之类的功能。WriteToFile。。。你到底是怎么做的?你能帮我把密码贴出来吗?想和大家分享一下我该怎么做吗?
    String utf8String=getFromSource();
    File fileDir = new File("c:\\temp\\test.txt");

    Writer out = new BufferedWriter(new OutputStreamWriter(
        new FileOutputStream(fileDir), "UTF8"));

    out.append(utf8String).append("\r\n");
    out.flush();
    out.close();