Java 用分隔符在同一行打印数组
Java Print array on the same line with separator
我有一个 class 正在从文件中读取特定列并将其插入到数组中。我想将该数组打印在带有逗号分隔符的同一行上。
下面是我的代码:
public static void getArray(int Column, File path, String Splitter) throws IOException
{
List<String> lines = Files.readAllLines(path.toPath(), StandardCharsets.US_ASCII);
for (String line : lines)
{
String[] array = line.split(Splitter);
//Will return all elemetns on the same line but without any separation, i need some kind of separation
// if i use System.out.print(array[Column]+" ,");
// i will always get a , at the end of the line
System.out.print(array[Column]);
}
}
getArray(3, file, "|");
当前输出为:
abcdefg
期望的输出是:
a,b,c,d,e,g
您可以使用 joining
收集器。
用分隔符,
连接数组的元素。
String result = Arrays.stream(array)
.collect(Collectors.joining(","));
用分隔符 ,
.
连接数组中给定元素的字符
String result = Arrays.stream(array[Column].split(""))
.collect(Collectors.joining(","));
用分隔符 ,
:
连接数组中给定元素的字符的另一种变体
String result = array[Column].chars()
.mapToObj( i -> String.valueOf((char)i))
.collect(Collectors.joining(","));
您可以在没有流的情况下进行(在 Java 8+ 中,对于 String.join
):
String.join(",", array)
但您也可以使用普通的旧循环来完成:
String delim = "";
for (String part : array) {
我有一个 class 正在从文件中读取特定列并将其插入到数组中。我想将该数组打印在带有逗号分隔符的同一行上。
下面是我的代码:
public static void getArray(int Column, File path, String Splitter) throws IOException
{
List<String> lines = Files.readAllLines(path.toPath(), StandardCharsets.US_ASCII);
for (String line : lines)
{
String[] array = line.split(Splitter);
//Will return all elemetns on the same line but without any separation, i need some kind of separation
// if i use System.out.print(array[Column]+" ,");
// i will always get a , at the end of the line
System.out.print(array[Column]);
}
}
getArray(3, file, "|");
当前输出为:
abcdefg
期望的输出是:
a,b,c,d,e,g
您可以使用 joining
收集器。
用分隔符,
连接数组的元素。
String result = Arrays.stream(array)
.collect(Collectors.joining(","));
用分隔符 ,
.
String result = Arrays.stream(array[Column].split(""))
.collect(Collectors.joining(","));
用分隔符 ,
:
String result = array[Column].chars()
.mapToObj( i -> String.valueOf((char)i))
.collect(Collectors.joining(","));
您可以在没有流的情况下进行(在 Java 8+ 中,对于 String.join
):
String.join(",", array)
但您也可以使用普通的旧循环来完成:
String delim = "";
for (String part : array) {