gpt4 book ai didi

java - 从文件中拆分出的字符串换行符

转载 作者:行者123 更新时间:2023-11-29 05:33:30 25 4
gpt4 key购买 nike

a.txt :

1,2,3
1,2,6
2,4,5

阅读拆分

String wynik = readFileAsString("a.txt");
String[] wyniki = wynik.split("");

我似乎找不到在文件中的换行符之后拆分字符串的方法,并且没有像这样指定(这是我在 stackoverflow 上的所有其他示例中找到的):

1,2,3\n1,2,6\n2,4,5\n

我的 readFileAsString 工作正常,它实际上是这样读取的(没有拆分):

1,2,31,2,62,4,5

我知道我可以在我的文件中添加一些东西,让它被它分割,例如

1,2,3t
...

但我还需要该文件清晰且没有任何不必要的符号。

整个事情看起来像这样:

public static String readFileAsString(String file) {
String line, results = "";
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
// readLine() zwraca nulla na koncu pliku, stad zabezpieczenie
while ((line = reader.readLine()) != null) {
results += line;
}
reader.close();
// return results;
} catch (IOException e) {
System.err.println("Error");
}
return results;
}

public static void main(String args[]) {

String wynik = readFileAsString("a.txt");
System.out.println(wynik);
String[] wyniki = wynik.split("[\\r\\n]+");

ArrayList<Trojka> wynikArrList = new ArrayList<Trojka>();

for (int i = 0; i < wyniki.length; i++) {
String[] temp1 = wyniki[i].split(",");
int m = 0;
int n = 0;
int t = 0;
try {
m = Integer.parseInt(temp1[0]);
} catch (Exception e) {
}
try {
n = Integer.parseInt(temp1[1]);
} catch (Exception e) {
}
try {
t = Integer.parseInt(temp1[2]);
} catch (Exception e) {
}

Trojka temp = new Trojka(m, n, t);

boolean newRecord = true;
for (Trojka a : wynikArrList) {
if (a.getM() == temp.getM() && a.getN() == temp.getN()) {
a.addT((int) temp.getT());
newRecord = false;
break;
}
}
if (newRecord) {
wynikArrList.add(temp);
}
}

wynik = "";

for (Trojka a : wynikArrList) {
wynik += a.getM() + "," + a.getN() + "," + a.getT() + "\n";
}

System.out.println(wynik);

}
}

最佳答案

如果你想用换行符分割一个字符串,那么试试这个正则表达式:

String[] out2 = out.split("[\\r\\n]+");

更新 readFileAsString 的代码应该是这样的:

public static String readFileAsString(String file) {
return new Scanner(new File(file)).useDelimiter("\\Z").next()'
}

更新 2:

public static String readFileAsString(List<String> Lines, String file) {
String line, results = "";
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
// readLine() zwraca nulla na koncu pliku, stad zabezpieczenie
while ((line = reader.readLine()) != null) {
results += line;
lines.add(line);
}
reader.close();
// return results;
} catch (IOException e) {
System.err.println("Error");
}
return results;
}

现在称它为:

ArrayList<Trojka> wynikArrList = new ArrayList<Trojka>();
String wynik = readFileAsString(wynikArrList, "a.txt");

关于java - 从文件中拆分出的字符串换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20298986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com