こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

はじめまして。よろしくお願いいたします。

はじめまして。よろしくお願いいたします。

java初心者です。
javaでファイルを読み込み、1行ずつ処理して別プログラムに出力するプログラムを作成しています。

----サンプルソースコード
import java.io.*;

class testReader
{
public static void main(String[] args)
{
FileReader fr = new FileReader("test.txt");
BufferedReader br = new BufferedReader(fr);

while (true) {
String readLine = br.readLine();
:
:
----サンプルソースコード

上記のような感じで処理を進めるのですが、1点問題にぶつかりました。
readLineで読み込んだ行にタブ文字がある場合、タブ文字が消えてしまいます。

読み込むテキストファイルはShift-JISで保存されています。

なにか回避策はございませんでしょうか。
よろしくお願いいたします。

投稿日時 - 2010-03-02 22:18:55

QNo.5719961

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

タブが消える
という現象をどのようにして確認したの?

たとえば
String readLine = br.readLine();
の直後に
System.out.println(readLine);
とかして確認したのかしら。

タブは環境によってスペース4個分だったり8個分だったり
位置そろえになったりと
いろいろな表現がされるわね。

それによって、タブがそこにあるけど見えなくなっている
なんてことはない?

投稿日時 - 2010-03-03 10:59:37

ANo.2

試してみましたけれど、タブ文字は消えません。

String readLine = br.readLine();
for (int i=0; i<readLine.length(); i++) {
System.out.println((int)readLine.charAt(i));
}

のようにして、タブ文字を含むテキストファイルを読み込ませるとタブ文字のコードである9が表示されました。
タブが行頭や行末にあったり、2文字以上のタブが連続したりしても問題ありません。

投稿日時 - 2010-03-02 23:13:07

ANo.1

java.io.FileReader を使うのを止めて、
java.io.FileInputStream を使ってみては、どうでしょう。

投稿日時 - 2010-03-02 22:59:19

あなたにオススメの質問