私は、キャラクターシートからダイスロールまですべてを自動化するプロジェクトに取り組んでいます。私は、アプリケーションの実行開始時にアクセスできる文字データ(文字の名前、2つの統計情報の配列、およびそれらの統計値の2つの配列)を格納しようとしています。 Thisはこれまでに非常に役立っています。array.lengthを逆シリアル化した後に取得する方法
しかし、ユーザーが使用したい文字データであることをユーザーが確認できるように、名前と統計情報も表示したいと考えています。また、データを読みやすい形式で表示するのに問題があります。
import java.io.*;
import javax.swing.JOptionPane;
public class fengShuiFiles implements Serializable {//start class
private FileOutputStream outFile;
private ObjectOutput objectWriter;
private FileInputStream inFile;
private ObjectInputStream objectReader;
public void WriteFile(String fileNameIn, String[] sArray1, String[] sArray2,
String[] sArray3, String[] sArray4) {
try {
outFile = new FileOutputStream(fileNameIn + ".txt", true);
objectWriter = new ObjectOutputStream(outFile);
objectWriter.writeObject(sArray1);
objectWriter.writeObject(sArray2);
objectWriter.writeObject(sArray3);
objectWriter.writeObject(sArray4);
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "I/O occurred during a write operation\nFor more",
"information see console output.",
"Read File", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
} // End try/catch
} // End Open
//not sure if I'll need this. Keeping it for now just in case
//public void writeRecords(String textRecords)
//{
// outFile.close();
// pw.println(textRecords);
//} // End WriteRecords
public void ReadFile(String fileNamein) throws FileNotFoundException {
fengShuiFiles[] sArray1, sArray2, sArray3, sArray4;
try {
inFile = new FileInputStream(fileNamein + ".txt");
objectReader = new ObjectInputStream(inFile);
sArray1 = (fengShuiFiles[]) objectReader.readObject();
sArray2 = (fengShuiFiles[]) objectReader.readObject();
sArray3 = (fengShuiFiles[]) objectReader.readObject();
sArray4 = (fengShuiFiles[]) objectReader.readObject();
} catch (IOException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "I/O error occurred opening a",
"file\nFor more information see console output.",
"Read File", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
} // End try/catch
for (int x = 0; x < sArray1.length; x++) {
}
}
public void closeFile() {
try {
outFile.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} // End closeFile
}//end class
ので:ここに私のコードは、(あなたが道に沿って最適化することができない何かを見れば、私は「:-)任意のフィードバックをいただければ幸いですが、あなたは、私が下の方に持ってる問題を見つけることができますです、そのsArray1.length
のfor文の最後に?sArray1が初期化されていない可能性があるというエラーメッセージが表示されます。配列を読み込み可能にしていますか?ありがとうございます。
うわー、それは多くの方が便利だろう。私は表示と利用の2つの方法を別々に作成しなければならないかもしれないと思っていました。本当にありがとう! –