将char数组编码为字符串时出现问题

时间:2010-10-15 03:22:49

标签: java

我正在尝试使用字符串构造函数将2d char数组转换为字符串。找到合适的构造函数时遇到问题。我尝试使用各种构造函数,但似乎没有任何工作。

4 个答案:

答案 0 :(得分:1)

char chars[][]= {{'a', 'b', 'c'}, {'d', 'e', 'f'}};

        StringBuilder sb = new StringBuilder();

     for(int i = 0; i<2 ;i++){

         for(int j =0; j<3; j++){


             sb.append(chars[i][j]);

         }

     }


        System.out.print(sb.toString());

这是我的选择之一..然而..可能有一个很好的代码!!寻找它!!!

答案 1 :(得分:1)

这将为您提供String的列表

    char[][] arr={{'a', 'b', 'c'}, {'d', 'e', 'f'}};
    List<String> list=new ArrayList<String>();
    for(char[] ar:arr)
    {
        list.add(new String(ar));
    }

如果您希望将2d char数组作为单个字符串:

    StringBuilder b=new StringBuilder();//use string builder instead of list
    for(char[] ar:arr)
    {
        b.append(new String(ar));
    }

如果您只想打印char 2d数组:

Arrays.deepToString(arr));

答案 2 :(得分:0)

你是什么意思将2d char数组转换为字符串?

如果您有:{{'a','b','c'},{'d','e','f'}}

你想要的结果是:“abcdef”?

答案 3 :(得分:0)

您想将2d char数组转换为单个字符串吗?看起来有点奇怪。你想只连接最后一行末尾的每一行吗?

长话短说,我认为你不会找到一个内置的构造函数来做到这一点。您可能需要自己编写一些内容来进行转换。

修改
根据您的注释,您最初读取文件时看起来使用了错误的数据结构。这是一个代码片段,用于将整个文件读入字符串,以便您以后不必进行任何转换。

  StreamReader MyStreamReader = new StreamReader(@"c:\Projects\Testing.txt");
  string fileContents= MyStreamReader.ReadToEnd();
  MyStreamReader.Close();