2017-02-16 7 views
0

ありがとうございました。 私は何をする必要があります以下の通りです:ファイルからトークンを1つだけ読み取る

**読み込むためのファイルを開きます**

**ファイルの最初のトークン[文字列]を読む**

**次の報告Read_Cursor_Position **

**

**ファイルを閉じます**トークンを返します**

**ファイルを再度開きます**

**ファイル**

などの* second *トークンを読み、必要なすべてのデータが読み込まれるまでトークンを読み込みます。 私はJavaに慣れていませんが、C++ではtellgまたはtellpを使用して、ファイルから1つのトークンだけを読み取るカーソル位置とgetlineを抽出します。 この説明が私の質問をよく説明してくれることを願っています。

デリミタを含むデータをUTFファイルに出力するメソッドを作成した後、UTFファイルからデータを抽出しようとしています。データを抽出する方法はその時点で1トークンです。以前に述べたように、トークンには区切り文字があり、区切り文字が見つかるまでファイルのトークンを読み取る必要があります。ここ は、ライターメソッドのコードです:

public void writeData(String data) throws IOException { 
    try { 
     dout.writeUTF(data); 
     dout.writeBytes("^"); 
    } catch(IOException e) { 
     throw e; 
    } 
} 

、ここリーダーです:^ と出力され のJava^C++^PHP:

public void readData() throws IllegalStateException { 
    try { 
     apstr = new StringBuilder(); 
     while(scan.hasNext()) { 
      apstr.delete(0,apstr.length()); 
      apstr.append(scan.next()); 
      System.out.println("The token is: " + apstr); 
     } 
    } catch(IllegalStateException e) { 
     scan.close(); 
     throw e; 
    } 
    scan.close(); 
} 

ファイルには、以下のデータが含まれています。 Java^C++^PHP^ しかし、私が読んでみたいのは単語Javaです

Javaを同じようにするにはどうすればいいですか?

ところで、どうやって新しい質問を投稿するのですか?このウェブページには、「新しい質問を投稿する」ボタンがありません。前もって感謝します。

+0

スキャナはファイルから読み取りますか?次に、あなたはwriteUTFを使いたくありません。 writeUTFはあなたの考え方をエンコードしません。ライターを使用し、UTF-8エンコーディング – MeBigFatGuy

+1

Btwを指定すると、正確なコードを投稿できない可能性があります。印字線があなたの主張される出力と一致しません。 :) – Keith

答えて

-1

StringTokenizerを使用してください。

コンストラクタStringTokenizer(String str, String delim) - 区切り文字はカラット( "^")文字、次のトークンは文字列として返すnextToken()関数です。

また、このStackOverflow postは、ファイルをStringに読み込むさまざまなオプションを示しています。

+0

'StringTokenizer'は文字列をトークン化するためのレガシークラスです。' String#split(); 'を使用してください。 – matoni

+0

助けを借りてありがとうございます。 – Amno

0

ライターを使用してファイルに書き込む必要があります。 utf-8エンコーディングを使用する場合は、

のようにします。PrintWriter pw = new PrintWriter(new FileStreamStream(new FileOutputStream( "somepath")、StandardCharsets.UTF_8))));

次にdo

pwです。println( "some text");

スキャナを使用して読んでいるものについては、DataOutputStreamを使用しても機能しません。

関連する問題