java初心者です。FileWriterで8kb以上ファイルに書き込めなくて困っています。
java.sun.comのサイトのページFileWriterクラスに書いてある詳細説明(http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …)
によるとFileWriterで書き込めるサイズはデフォルトで決まっているため、自分で値を指定しない限りあるサイズ以上はファイルに書き込めないそうですが、
その値の指定の仕方(ソースの書き方)が分かりません。
「これらの値を自分で指定するには、FileOutputStream 上に OutputStreamWriter を構築してください。」(引用)
この意味が自分には全く分かりません。
実際に行き詰まっている所は...
JTextArea htmlArea = new JTextArea();
FileWriter objFw = new FileWriter("ファイルの絶対パス");
...
...
...
objFw.write(htmlArea.getText());←ここで8kb以上ファイルに書き込めなくて困っています
どのようにソースを書けば問題を解決出来ますでしょうか?
No.2ベストアンサー
- 回答日時:
掲載されたコードを一部修正して試してみましたが、全部書き出せましたよ。
みたところ、BufferdWriterで書き出し後にflushしておらず、なおかつcloseしていませんでしたが、これが原因ではありあせんか? BufferedWriterはテキストをすぐに書き出さず、バッファに貯めてから書き出しますから、バッファに残っている分をflushし、ストリームをcloseしないまま終了しては、バッファに残った分はファイルに書き出されずに終わってしまいます。BufferedReaderをcloseする手前に、BufferedWriterをflushしcloseする文を追記して試してみてください。No.1
- 回答日時:
>FileWriterで書き込めるサイズはデフォルトで決まっているため、自分で値を指定しない限りあるサイズ以上はファイルに書き込めないそうですが、
???
長年、Javaを使っていますが、そんな話は初耳です。
まさかと思って、さきほど、300KBほどのStringをFileWriterで書きだしてみましたが、何の問題もなく動きました。なにか勘違いしていませんか?? あるいは、もし実際に8KB以上書き出せなかったというなら、そのソースコードを掲載していただけますか。
この回答への補足
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.String;
import java.lang.System;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class urlsort {
public void M_urlsort(String[] A00) {
String C00=null;
String C01=null;
String C02=null;
C00=A00[0];//url
C01=A00[1];//正規表現の設定
C02=A00[2];//ファイルのパス
Matcher L05=null;
System.out.printf("[%s]から、URLを検索...%n", C00);
int L00 = 0;
try {
URL L01 = new URL(C00);
BufferedReader L02 = new BufferedReader(new InputStreamReader(
L01.openStream()));
String L03;
//文字化けする場合はcompileの引数にPattern.UNICODE_CASEも追加
Pattern L04 = Pattern.compile(C01, Pattern.CASE_INSENSITIVE);
FileWriter objFw;
objFw = new FileWriter(C02);
BufferedWriter objBw = new BufferedWriter(objFw);
while ((L03 = L02.readLine()) != null) {
L05 = L04.matcher(L03);
while (L05.find()) {
L00++;
objBw.write(L05.group(1) + "\n");
}
}
L02.close();
} catch (IOException L06) {
System.out.println("ページ読み込み中にエラーが起きました。");
}
System.out.println(L00 + "件のURLを発見しました。");
}
}
コンソールに表示された文字は...
[http://tweetmeme.com/]から、URLを検索...
231件のURLを発見しました。
231件のURLをカウントしているにもかかわらず、ファイルには他のurlで何度やっても8.0 KB (8192 バイト)分のurlしか書き込まれていませんでした。ファイルに書き込まれた最後のurlは途中で途切れています。
書き忘れていましたがOSはLinuxのUbuntu i836です。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaクラスファイルをEclipseで...
-
eclipse でclassesフォルダーが...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
Eclipse・プロジェクトで、フォ...
-
VisualStudioでC++クラスを追加...
-
【Eclipse】パッケージ・エクス...
-
org.apache.tools.zip.* を使っ...
-
Tomcatの「\\WEB-INF\\classes...
-
VC++6.0で、ダイアログを新規に...
-
DOMParserを使いたいのですが
-
ResourceBundleクラスの使い方
-
JAVAで外部ファイルをインクルード
-
earファイルを展開する方法
-
プログラム実行の際に、「ソー...
-
classファイルが作成されない
-
java クラスファイルとソースコ...
-
PowerShellにてZipFileクラス利...
-
javaでjarファイルがうまく起動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
classファイルについて
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
SVFの設定について:クラスパス...
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
java クラスファイルとソースコ...
-
プログラム実行の際に、「ソー...
-
「削除するか、クラスパスの正...
-
EclipseでHTTP404エラーが出る。
-
VisualStudioでC++クラスを追加...
-
コンパイルをしようとするとエ...
-
『ClassNotFoundException: org...
-
Java初心者です。 コマンドプロ...
-
jdbcドライバのjarファイルにク...
-
【Eclipse】逆コンパイルでエラ...
-
Jarコマンドでマニフェストファ...
おすすめ情報