小编Ano*_*hal的帖子

在java中读取大型CSV文件(数百万行)时出现内存不足错误

我在 Java 中读取大型 CSV 文件时出现内存不足错误。我该如何处理这个问题。我增加了堆大小,我也尝试使用 BufferedReader,但仍然存在同样的问题。这是我的代码

public class CsvParser {
    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader((args.length > 0) ? args[0] : "data.csv");
            Map<String, List<String>> values = parseCsv(fr, " ", true);
            System.out.println(values);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static Map<String, List<String>> parseCsv(Reader reader, String separator, boolean hasHeader)
            throws IOException {
        Map<String, List<String>> values = new LinkedHashMap<String, List<String>>();
        List<String> columnNames = new LinkedList<String>();
        BufferedReader br = null;
        br = new BufferedReader(reader);
        String …
Run Code Online (Sandbox Code Playgroud)

java csv

5
推荐指数
1
解决办法
6966
查看次数

java中如何删除字符串中的所有特殊字符?

我想从字符串中删除所有特殊字符,我尝试了 stackoverflow 中给出的许多选项,但没有一个对我有用。

这是我的代码:

public class convert {

    public static void main(String[] args) {
        try {    
            List<List<String>> outerList = new ArrayList<List<String>>();
            outerList.add(new ArrayList<String>(asList("11-","2")));
            outerList.add(new ArrayList<String>(asList("(2^","1")));
            outerList.add(new ArrayList<String>(asList("11","3)")));    

            int i,j;
            for(i=0;i<outerList.size();i++){    
                    for(j=0;j<outerList.get(0).size();j++){    
                            outerList.get(i).get(j).replaceAll("[^\\w\\s]", "");
                            if(outerList.get(i).get(j).matches("-?\\d+"){
                               continue;
                            }else{
                               System.out.println("special characters not removed");
                               System.exit(0);
                            }
                   }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

csv ×1