質問

これはまた別の私のJavaの質問です。

このコードを見てみてください。


public static void main(String[] args) {
  if( args.length != 5) {
   System.out.println("Error. Wrong number of params!");
   System.exit(0);
  }
  File file = new File(args[0]);
  try {
   BufferedImage image = ImageIO.read(file);
   FileWriter fstream = new FileWriter("output.txt");
         BufferedWriter out = new BufferedWriter(fstream);
   int avg = 0;
      int w = image.getWidth();
      int h = image.getHeight();
      Rectangle r = new Rectangle();
      double whiteHelp = Double.parseDouble(args[4]);
      avg = (int) (avg / 1);
      int startX = Integer.parseInt(args[2]);
      int startY = Integer.parseInt(args[3]);
      r.width = r.height = Integer.parseInt(args[1]);
      for(int i = startY; i <= h - r.height; i += r.height) {
       for(int j = startX; j <= w - r.width; j += r.width) {
        r.x = j;
        r.y = i;
        avg = getTileColor(r, image, whiteHelp);
        //System.out.print(avg);
        out.write(avg);
       }
       //System.out.println();
       out.write("\n");
      }
      out.close();

      image.flush();
      System.out.println("Finished parsing the image. Solving...");
  } catch (Exception e) {
   System.out.println("Error.");
   e.printStackTrace();  
  }

 } 

には、例えば、バイナリファイルを開くかのように私は、非読めるテキストを取得OUTPUT.TXTます。

BufferedImageのとBufferedWriterのが同時にインスタンス化されたときに

問題のいくつかの王様はありますか?私は1つのファイルが読み込みのために開かれた別のクラスにファイルへの書き込みに同じ手順を使用していて、別の書き込みのために開かれ、物事がうまく動作ます。

p.s。コードを壊すことなく、文字を入力する&LTする方法?私のように&LT、それを入力する必要があります。?

おかげ

役に立ちましたか?

解決

あなたのinvoke

out.write(avg)

出力にint型の平均を記述すること。

これは、メソッドBufferedWriter.write(int)を呼び出します。これは、Unicodeコードポイントavgの文字を書き出します。これは何をしたい、おそらくではありません; - 。)

10進形式で番号avgを印刷するには、使用

out.write(String.valueOf(avg))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top