我有一个类正在从文件中读取特定列并将其插入到数组中。我想用逗号分隔符在同一行上打印该数组。
以下是我的代码:
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
答案 0 :(得分:3)
您可以使用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(","));
答案 1 :(得分:2)
你可以不使用流(在Java 8+中,df3[is.na(df3)] <- 0
df3 <- as.matrix(df3)
1 2
1 0 0
2 0 0
3 0 0
4 1 0
5 1 0
6 1 0
7 0 0
8 0 1
9 0 1
):
String.join
但你也可以用一个普通的循环来做到这一点:
String.join(",", array)