プロが教えるわが家の防犯対策術!

タイトルのことについてなのですが、
簡易ですが以下のプログラムにて実行すると

float[][] ncd =new float[5][5];
final String fileSeparator = System.getProperty("file.separator");
File file =new File("c:\\new\\Sources\\TEST");
File files[] =file.listFiles();
for(int i=0; i<files.length; i++){
for(int j=0; j<files.length; j++){
String fileStr1 = files[i].toString();
fileStr1 = fileStr1.substring(
fileStr1.lastIndexOf(fileSeparator)+1,fileStr1.lastIndexOf('.'));
String fileStr2 = files[j].toString();
fileStr2 = fileStr2.substring(
fileStr2.lastIndexOf(fileSeparator)+1,fileStr2.lastIndexOf('.'));

File file1 = new File("圧縮"+fileSeparator+fileStr1+".zip");
File file2 = new File("圧縮"+fileSeparator+fileStr2+".zip");
File file3 = new File("圧縮"+fileSeparator+fileStr1+"-"+fileStr2+".zip");
if(file1.length() > file2.length())
ncd[i][j]=(float)(file3.length()-file2.length())/file1.length();
else if(file1.length() < file2.length())
ncd[i][j]=(float)(file3.length()-file1.length())/file2.length();
System.out.print(ncd[i][j] +",");
}
System.out.println("");
}
return 0;
}


NCDというメソッドだけですが(このほかにもコードはあります)、プロンプト上に以下の数字が表示されます。
0.0,0.9778106,0.9755917,0.97633135,0.82914203,
0.9748521,0.0,0.96428573,0.9684874,0.97286433,
0.97337276,0.96113443,0.0,0.19512194,0.9738693
0.97411245,0.96428573,0.19512194,0.0,0.9738693
0.83284026,0.9778894,0.9738693,0.9738693,0.0,

これを新たなtxtファイルを作り、そこに書き出したいのですがどうすればいいでしょうか。

A 回答 (1件)

えーと、すでに動いているプログラムのプロンプト上への表示をテキストに保存したいというのであれば、 プログラムを修正しなくてもリダイレクトで可能だと思うのですが。


http://www.adminweb.jp/command/redirect/index1.h …

もしどうしてもファイル出力機能を作らなくてはならないならば、まず ncd[][] の中身を埋める処理と ncd[][] の中身をプロンプト表示する処理を分けてください。そうすれば、あとは ncd[][] の中身をファイル出力する処理を書くだけです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!