gpt4 book ai didi

java - 我想用每行不同的值更新 CSV 文件,但代码返回相同的值

转载 作者:行者123 更新时间:2023-12-01 12:52:24 27 4
gpt4 key购买 nike

我的 file.csv 包含

**narendra.koribilli@uni.com**  
**stefan.hummel@uni.com**
**ibrsduser**
**michel.csaba@uni.com**
**wsdl**
**lalit.choudhary@uni.com**
**Remedy Application Service**
**vinay.k.kedlaya@uni.com**

我想将这些内容写入另一个 .csv 文件,例如:

**narendra.koribilli@uni.com**,    **some random_value()**

**stefan.hummel@uni.com**, **some random_value()**

**ibrsduser**,**some random_value()**

**michel.csaba@uni.com**,**some random_value()**

**wsdl**,**some random_value()**

**lalit.choudhary@uni.com**,**some random_value()**

**Remedy Application Service**,**some random_value()**

**vinay.k.kedlaya@uni.com**,**some random_value()**

在上面的行中,一些 random_value() 是为第一个字符串(即 narendra.koribilli@uni.com)生成随机字符串的方法

这是我尝试过的,但它为所有不同的员工姓名打印相同的随机值

这是我迄今为止尝试过的

字符串键值=“”;

private static void getString() 抛出 IOException

{

    PrintStream out = new PrintStream("D:\\fileUpdate.csv");

BufferedReader br=new BufferedReader(new FileReader("D:\\file.csv"));

String str=null;

while((str=br.readLine())!=null)
{
String fetch=Generate_StringForUSer(str);
out1.println(str+","+fetch);

}

}

private static String Generate_StringForUSer(String str) {

int keylen=str.length();

while (KeyValue.length () != keylen)
{
int rPick = r.nextInt(4);
if (rPick == 0)
{
int spot = r.nextInt(25);
KeyValue += dCase.charAt(spot);
}
else if (rPick == 1)
{
int spot = r.nextInt (25);
KeyValue += uCase.charAt(spot);
}
else if (rPick == 2)
{
int spot = r.nextInt (7);
KeyValue += sChar.charAt(spot);
}
else if (rPick == 3)
{
int spot = r.nextInt (9);
KeyValue += intChar.charAt (spot);
}
}
System.out.println (KeyValue);
return KeyValue;

}

输出是这样的......

6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m
6Tui3ClnNqk#$8gCEAHxA3Er0U!V$5m

为所有用户生成相同的随机字符串..对于不同的名称应该有所不同...请告诉我哪里错了..感谢大家

最佳答案

您在读取文件时使用不同的缓冲读取器。

注意 1

while((str=br1.readLine())!=null)

您在哪里声明 BufferedReader br

 BufferedReader br=new BufferedReader(new FileReader("D:\\file.csv"));

将上面的while语句改为

while((str=br.readLine())!=null)

生成给定长度的字符串,包含随机字符,

选项 1 使用 org.apache.commons.lang 's RandomStringUtils类。

RandomStringUtils.random(lengthOfRequiredStr)

选项 2 如果您不想依赖公共(public)库,请自行编码 - 请参阅此 link

关于java - 我想用每行不同的值更新 CSV 文件,但代码返回相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121562/

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