gpt4 book ai didi

java - 替换文件中字符串中的确切字符?

转载 作者:行者123 更新时间:2023-12-02 08:58:55 26 4
gpt4 key购买 nike

我正在制作一个程序来修复 csv 文件中的分隔符,我的想法是读取所有行,然后检查每一行是否有错误的分隔符,然后用正确的分隔符替换它。我一直在尝试很多事情,但这就是我现在陷入困境的地方。这是代码:

try (FileWriter escritor = new FileWriter(archivoRes.getAbsoluteFile()); BufferedReader lectorArchivo = new BufferedReader(new FileReader(archivoSelec)); BufferedWriter bfw = new BufferedWriter(escritor)) {

byte[] byteArray = new byte[(int) archivoSelec.length()];
FileInputStream fis = new FileInputStream(archivoSelec);
fis.read(byteArray);

int count = 1;
for (int i = byteArray.length; i >= 0; i--) {
String line = lectorArchivo.readLine();
if (line.indexOf(":") == 82 || line.indexOf(":") == 68 || line.indexOf(":") == 81) {
line.replaceFirst(":", ";");

}
bfw.write(line);
bfw.newLine();
}


bfw.close();

} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}

关于如何解决这个问题有什么想法吗?

更新:

我发现了 StringTokenizer,它看起来更容易,但我仍然无法让它工作。这是目前的代码。

for(int i = byteArray.length;i >= 0;i--){
String line = lectorArchivo.readLine();
StringTokenizer token = new StringTokenizer(line, ";");

if (token.countTokens() == 3) {
line.replaceAll(separador_old, separador);


}
bfw.write(line);
bfw.newLine();

}


bfw.close();

最佳答案

字符串是不可变的。

line.replaceFirst(":", ";"); 不执行任何操作。

您需要将结果分配到某处。

也许回到

关于java - 替换文件中字符串中的确切字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60319274/

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