Spark Streamingフレームワークを使用してJavaでプログラムを作成しています(私の問題の答えをまだ知っているSparkがわからなくても)。 私は基本的に、段落で区切られた文字列は、(ソケットを介して、文字列、毎秒1を受信し、txtファイルに保存したいのです。このようなので:。スパークストリーミングが動作する方法がであるmain()メソッドの外でFileWriterを初期化する方法
FileWriter a = new Filewriter (path to file);
a.append(string s);
a.append('\n');
a.flush;
main()メソッドを大きなwhileループに変換するので、私が同じファイルで受け取った文字列を保存するためには、main()以外の変数を宣言する必要があります(そうしないと、
問題は、IOEXCEPTIONのために、私はこれを行う必要があります:
public static void writer() throws IOException
{
FileWriter a= new Filewriter (path to file);
}
main()でwriter()を呼び出すと、以前と同じ問題が発生します(私はaを初期化します)。
main()の外側で初期化するにはどうすればよいですか?この問題はありませんか?
ありがとうございました。
でそれを呼び出すことができますなぜあなたはそれを毎回ながら、(メイン)ループの終わりでファイルにその内容をフラッシュし、ファイルに追加していカント?しかし私はプライベートは、単に何か違うことを考えようとする方法だと思う。 – jgr208
静的ブロックで 'writer()'を呼び出せませんか? 'static {writer();}のように。 } '?そうすればクラスを含めて一度だけ実行されます。 – Shark