• ベストアンサー

javaで、、、

nattoumakiの回答

  • ベストアンサー
回答No.2

mark(int limit) というメソッドを使えば可能ですよ。 mark()を呼んだ時点でそこにマークがつけられ、 次にreset()を呼んだ時に最後にマークをつけた 箇所まで戻ります。 オブジェクト化してすぐに呼べばreset()を呼んだ 際に最初に戻れます。 引数 limitには読み込む最大文字数を渡すみたい ですがあまり大きな値を設定しなければ適当な 値でちゃんと動くみたいです。 BufferedReader reader = new BufferedReader(....); reader.mark(1024);// 最初にマーク while(reader.ready()) { // .......なんか処理 } reader.reset();//ここで、最初のマーク位置へ戻る

Judau_MSZ-010
質問者

お礼

ありがとうございます!

関連するQ&A

  • JAVAでエラーがでる。

    JAVA初心者なのですが、下のプログラムは数値を入力して、それを表示させるという簡単なプログラムなのですが、実行すると、 String str = br.readLine(); のbr.readLine();の部分に赤い波線が出て、 「処理されない例外の型 IOException at B.main(B.java:11)」 というエラーが出てしまってこまっています。 参考書のとうりに入力しているのになぜでしょうか? タブやスペースが使えないので見にくくなってしまってすみません。 どなたかJAVAに詳しい方 教えてください。 import java.io.*; public class B { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); System.out.println(num + "が入力されまた。"); } }

    • ベストアンサー
    • Java
  • java,StringTokenizerの使い方について

    和英辞書アプリケーションを作っています。 BufferedReaderで読み込んだtxtファイルをStringTokenizerで区切りたいのですが、使い方がよくわかりません。 現状は try{BufferedReader japanesefile = new BufferedReader(new FileReader("word/01japanese.txt")); while ((jp=japanesefile.readLine())!=null) {japWord[n1] = jp; n1++;} japanesefile.close();} catch(IOException ie){System.exit(1);} 上記のBufferedReaderで 赤 青 緑 … といった日本語、英語別のtxtファイルを読み込んでます。 これを 赤,red 青,blue 緑,green というBufferedReaderで読み込んだtxtファイルを japWord[0] = "赤" engWord[0] = "red" japWord[1] = "青" … という風に分けたいのですが、どうすればよいでしょうか? java習い始めで質問の仕方すらままならないですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • 今勉強中のjavaで。わからないことがあります。

    import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); int num =Integer.parseInt(str1); System.out.println("あなたは" + num +"歳です。"); } } ------------------------------- import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("あなたは" + str1 +"歳です。"); } } なぜ下では悪いのですか?なぜnum をつかないといけないかがわかりません。正確には str1とnumの違いがわからなくて困っています。何が混乱の原因ですか?

    • ベストアンサー
    • Java
  • 「javaに関して」エラーが解決できません。java.io.IOException: Bad file descriptor

    インターネットを通して、たくさんのファイルを保存した場合、下記のようなエラーが出ます。 何か、解決手段はないでしょうか? ネットや本をいろいろ見たのですがまったくわかりませんでした。わかる方、ぜひとも、よろしくお願いいたします。 また、こういったエラーが出た場合、自分の力で解く方法を教えていただければ幸いです。 ーーーーエラーーーーーー java.io.IOException: Bad file descriptor at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at sun.nio.cs.StreamDecoder$ConverterSD.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) at java.io.InputStreamReader.read(Unknown Source) at java.io.BufferedReader.fill(Unknown Source) at java.io.BufferedReader.readLine(Unknown Source) at java.io.BufferedReader.readLine(Unknown Source) at test.main(test.java:14) Exception in thread "main"

    • ベストアンサー
    • Java
  • Java int sum = 0は必要ですか?

    やさしいJavaという本を買ったのですが、良くわからない箇所がありました。 --------------省略----------------- class Sample6 { public static void main(String[] args) throws IOException { System.out.println("整数を3つ入力してください。") ; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) ; String str1 = br.readLine() ; String str2 = br.readLine() ; String str3 = br.readLine() ; int sum = 0 ; sum += Integer.parseInt(str1) ; -------------------略----------------- int sum = 0 ; とありますが、0と設定しておく必要はありますか? 無いとまずいですか? いきなりこのコードが出てきたと思うのですが どこかに書いてましたっけ?

    • ベストアンサー
    • Java
  • 【初心者です】javaで平均値を求めたいのですが...

    import java.io.*; public class ex31a { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader (System.in)); double sum = 0.0; while(true) { System.out.print("double> "); double x = (new Double(in.readLine())).doubleValue(); if(x == 0.0) { break; } sum = sum + x; } System.out.println("avarage = " + (sum % n)); } } 基本形はこのままで、最後の部分のSystem.out.printlnの部分を直したらいいんでしょうか。

    • ベストアンサー
    • Java
  • JavaでString型をChar型に変換するプログラムが分かりません

    JavaでString型をChar型に変換するプログラムが分かりません;; どなかた助けて下さい。 下のプログラムの何がいけないんでしょうか?? いろいろ間違ってるところはあると思うんですが、教えて下さい! import java.io.*; class { public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); StringBuffer moji = new StringBuffer(str1); char nyuu=moji;

  • 下記のようなjavaのプログラムで、* や / を入力しても,

    下記のようなjavaのプログラムで、* や / を入力しても, 必ず判定がfalseのほうになるんですけど、どうすれば良いですか? あまりjavaには詳しくないので、分かりやすく教えていただければ幸いです。お願いします。 import java.io.*; public class test{ public static void main(String[] args) throws IOException{ BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String a; a = input.readLine(); if((a == "*") ^ (a == "/")){ System.out.println("OK"); }else{ System.out.println("エラー"); } } }

    • ベストアンサー
    • Java
  • Javaの簡易クライアント

    メールの閲覧ができるプログラムを作成してコンパイルして実行はできるのですが閲覧ができずエラーが出てしまいます。 正しいソースコードを教えてください。プログラムに詳しい方宜しくお願いします。 画像は実行結果です。 import java.io.*; import java.net.*; public class mail2 { public static void main(String args[]) throws IOException { String server,user,pass,str,num; int port = 110; StringBuffer sb = new StringBuffer(""); Socket sock; BufferedReader sockin; BufferedWriter sockout; System.out.println("サーバーを入力"); BufferedReader serverin = new BufferedReader(new InputStreamReader(System.in)); server = serverin.readLine(); System.out.println("ユーザーを入力"); BufferedReader userin = new BufferedReader(new InputStreamReader(System.in)); user = userin.readLine(); System.out.println("パスワードを入力"); BufferedReader passin = new BufferedReader(new InputStreamReader(System.in)); pass = passin.readLine(); try { sock = new Socket(server, port); sockin = new BufferedReader(new InputStreamReader(sock.getInputStream())); sockout = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); sockout.write("USER " + user + "\r\n"); sockout.write("PASS " + pass + "\r\n"); sockout.write("LIST\r\n"); sockout.write("QUIT\r\n"); sockout.flush(); while ((str = sockin.readLine()) != null) { System.out.println(str); } sockout.close(); sockin.close(); sock.close(); } catch (Exception ex) { ex.printStackTrace(); } System.out.println("どのメールを見ますか?"); BufferedReader numin = new BufferedReader(new InputStreamReader(System.in)); num = numin.readLine(); try { sock = new Socket (server, port); sockin = new BufferedReader(new InputStreamReader(sock.getInputStream())); sockout = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); sockout.write("USER " + user + "\r\n"); sockout.write("PASS " + pass + "\r\n"); sockout.write("RETR " +num+"\r\n"); sockout.write("QUIT\r\n"); sockout.flush(); while ((str = sockin.readLine()) != null) { System.out.println(str); } sockout.close(); sockin.close(); sock.close(); } catch (Exception ex) { ex.printStackTrace(); } } }

    • ベストアンサー
    • Java
  • javaで配列の格納をしたいです。

    配列の格納がうまくいきません。 javaについて質問させて頂きます。 ユーザーが数字を入力し配列 atr[ i ]に格納され 配列 v[ i ] に v[ 0 ] = count ... v[ 143 ] = count ... v[ 144 ] = count - 1 ... v[ 287 ] = count - 1 ... ... v[ count-288 ] = 2 ... v[ count-145 ] = 2 ... v[ count-144 ] = 1 ... v[ count-1 ] = 1 と、格納されるようなプログラムを作っています。 for文で作ろうと考えたのですが count, count-1 , ... 3, 2, 1と値を入れようと思いましたがうまくコンパイルが通りませんでした。 エラーは以下になります。 a.java:48: シンボルを見つけられません。 シンボル: メソッド readLine(int) 場所 : java.io.BufferedReader の クラス value = br_v.readLine(atr[i]); もし宜しければアドバイスやご指摘を頂けませんでしょうか。 説明も拙い部分がありますが宜しければお願いします。 import java.io.*; import java.util.Arrays; class a { public static void main(String[] args) throws IOException { int atr[]; atr = new int[25]; int count = 0; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true){ //絶対に通る String str = br.readLine(); int res = Integer.parseInt(str); if(res == 0){ break; } else{ atr[count] = res; } count++; } for(int i=0; i<count; i++){ System.out.println(atr[i] + "が、選択されました。"); } int v[] = new int[25*144]; String value; try{ BufferedReader br_v = new BufferedReader(new InputStreamReader(System.in)); for(int i=count; i<count; i--){ value = br_v.readLine(atr[i]); v[i] = Integer.parseInt(value); } } catch(IOException e){ System.out.println("エラーです。"); } } }