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で質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- その他(プログラミング・Web制作) 置換ソフトで指定したファイルの1行目に入力できるものを探しています 7 2022/11/24 10:34
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
【Eclipse】パッケージ・エクス...
-
EclipseでHTTP404エラーが出る。
-
Eclipse「リフレッシュ」と「ク...
-
JAR内のクラス一覧と、メソッド...
-
JARのパスの通し方
-
StrutsのValidatorについて
-
コンパイルをしようとするとエ...
-
jdbcドライバのjarファイルにク...
-
java.io.Fileクラスは絶対パス...
-
vbs で jar ファイルを起動させ...
-
Jarコマンドでマニフェストファ...
-
macでのファイル場所指定
-
Tomcatの「\\WEB-INF\\classes...
-
jarファイルの解凍ができない
-
「main メソッドを持つクラスが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
JADで*.jarごとデコンパイルす...
-
プログラム実行の際に、「ソー...
-
jdbcドライバのjarファイルにク...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
コンパイルした後 java (class...
-
【Eclipse】逆コンパイルでエラ...
-
Javaアプリケーションのアイコ...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
おすすめ情報