Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在linux上将windows保存的csv转换为Web服务器_Java_Jsf_Csv - Fatal编程技术网

Java 如何在linux上将windows保存的csv转换为Web服务器

Java 如何在linux上将windows保存的csv转换为Web服务器,java,jsf,csv,Java,Jsf,Csv,问题是我有一个用瑞典字母åäääÄä导出的windows excel CSV。当我上传它们并转换成字符串时,我把这些字母完全弄乱了。服务器是linux上的tomcat7。它被设置为使用iso-8859-1 我尝试了不同的byte[]转换,但似乎都不起作用。我已经从这段代码中删除了我尝试过的所有转换 public void run(InputStreamReader is) { BufferedReader br = null; String line = "";

问题是我有一个用瑞典字母åäääÄä导出的windows excel CSV。当我上传它们并转换成字符串时,我把这些字母完全弄乱了。服务器是linux上的tomcat7。它被设置为使用iso-8859-1

我尝试了不同的byte[]转换,但似乎都不起作用。我已经从这段代码中删除了我尝试过的所有转换

public void run(InputStreamReader is) {

        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ";";


        try {

            br = new BufferedReader(is);
            while ((line = br.readLine()) != null) {

                    // use comma as separator
                String[] playerInfo = line.split(cvsSplitBy);


                System.out.println("Förnamn: " + playerInfo[0] 
                                    + "Efternamn: " + playerInfo[1]
                                    + "Klubb= " + playerInfo[7] 
                                     + " , datum=" + playerInfo[10] 
                                     + " , Total= " + playerInfo[14] 
                                     + " , serier= " + playerInfo[15]);

                saveInfo(playerInfo);

            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        System.out.println("Done");
      }

使用
读取器时,可以指定编码。Windows默认情况下可能使用Windows-1252,因此请尝试使用fge所说的方法,确保您的StreamReader输入参数是使用正确的编码创建的(请告诉我们您是如何创建的?)is=file.getInputstream();isr=新的InputStreamReader(is,“windows-1252”);