gpt4 book ai didi

java - 导入 csv 不使用 opencsv 执行搜索

转载 作者:行者123 更新时间:2023-12-01 09:33:00 30 4
gpt4 key购买 nike

我想在不使用 opencsv 的情况下导入 csv 文件并将这些数据存储在集合中。从该集合中抽取任何随机数据并将其显示在屏幕上。 (仅使用java预定义包。不使用opencsv)

package panellist;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.Random;
import java.util.Set;
public class PanelList {
private static Random r = new Random();
private static int rand;
private static int endRange = 20;
private static List<Integer> randomNumber;
public static void main(String[] args) {

String fileName = "C:\\Users\\Ankit\\Desktop\\Book2.csv";
File file = new File(fileName); // TODO: read about File Names
Scanner scan = new Scanner(System.in);
HashMap map = new HashMap();
ArrayList al = new ArrayList();
int i =0;



try {
Scanner inputStream = new Scanner(file);
while (inputStream.hasNext()){
String data = inputStream.next();
System.out.println("test="+data/*.startsWith("a")*/);
map.put(i++,data);
StringTokenizer st = new StringTokenizer(data,",");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
inputStream.close();

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Printing HashMap:");
System.out.println(map);

endRange = map.size()-1;
for(int j=0;j<endRange;j++){
rand = r.nextInt(endRange);
System.out.println(map.get(r));
}



System.out.println(endRange);
rand = r.nextInt(endRange);
do
{
rand = r.nextInt(endRange);
}
while(randomNumber.contains(rand));

randomNumber.add(rand);
Object x= randomNumber.get(randomNumber.size()-1);
System.out.println(x);


}

}

最佳答案

简短回答:不要这样做。

长答案:

  • 不要不要重新发明轮子。
  • 不要认为您的“csv 解析器”会比 opencsv 或任何其他现有的 csv 解析库更好
  • 相反:可以非常安全地假设,只要您给它一些合理的复杂 csv 输入,您的实现就会被抛出。

如果我们谈论“学校作业是关于编写你自己的 CSV 解析器”;那么我建议:花相当多的时间研究 CSV 的许多潜在内容文件可以给你带来惊喜。然后你可能会看看其他人是如何解决此类问题的。比你坐下;首先要做的就是认识到简单地对“,”进行标记化还不能做到这一点(到目前为止)。

(你看,大多数人更喜欢使用此任务有一个原因 - 那就是:它不是一件容易的事)

关于java - 导入 csv 不使用 opencsv 执行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39244980/

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