读取txt文件的输出有空格

时间:2013-01-19 05:56:52

标签: java windows cmd

我使用/output:D:\list.txt产品获取名称,版本从cmd命令获取应用程序列表。但是,当我尝试使用java检索列表时,输出在每个字母后面都有空格。

示例:

来自文本文件

links

images

lists
在java中阅读时

 l i n k s

 i m a g e s 

 l i s t s

有没有办法解决这个问题?

我刚刚使用了这段代码:

public void myreader() throws IOException {
 Path path = Paths.get("D:\\list.txt");
 Charset charset = Charset.forName("ISO-8859-1");
 try (BufferedReader reader = Files.newBufferedReader(path,charset)) {
      String line = null;
      while ((line = reader.readLine()) != null) {
           System.out.println(line);
      }
 }

3 个答案:

答案 0 :(得分:9)

这可能是由编码问题引起的。尝试使用UTF-16字符集

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-16"));

答案 1 :(得分:0)

您是否尝试过FileReader?

FileReader fileReader;
try {
    fileReader = new FileReader( "D:\\list.txt" );
    BufferedReader bufferedReader = new BufferedReader( fileReader ); 
    String line; 
    while( ( line = bufferedReader.readLine() ) != null )
    { 
        System.out.println( line ); 
    }
    fileReader.close();
} catch ( IOException except ) {
    System.err.println( except.getStackTrace()[0] );
}

我不知道你的问题来自哪里,但你可以拿FileReader来获取这些指示。

答案 2 :(得分:0)

看起来你读了一个UTF-16编码的文件。

给你的读者提示 - 传递“UTF-16”,而不是“ISO-8859-1”。