2

/output:D:\list.txt product get name,version を使用して 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);
      }
 }
4

3 に答える 3

9

これは、エンコードの問題が原因である可能性があります。UTF-16文字セットを使ってみる

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-16"));
于 2013-01-19T06:14:17.190 に答える
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を利用することができる。

于 2013-01-19T06:25:23.143 に答える
0

UTF-16 でエンコードされたファイルを読み取ったようです。

読者にヒントを与えてください - 「ISO-8859-1」の代わりに「UTF-16」を渡してください。

于 2013-01-19T07:20:18.227 に答える