0
程序運行平穩,我可以在編輯器中看到向量的值,但是我看不到值中的值文本文件我無法將向量表的數據寫入文本文件,但程序運行沒有問題
FileManagement FileManagement = new FileManagement();
String sti = "D:\\El teknik/Data.txt";
/*En Vector er en liste af andre objekter, men den kan betragtes som en tabel
ligesom et array. Fordelen ved en Vector er, at ikke angives en bestemt længde
i tabellen*/
Vector dataTabel = new Vector();
// konstruktør til at initialisere objektet
這3行是我想要的文本文件
Data dataoplysning1 = new Data("Hjemmeside","brugernavn","password");
/*Jeg kalder min vektor personTabel og gemmer oplysninger i vector´en og vector
Vector klassen har en metode add(objekt), der tilføjer et objekt sidst i vektoren
*/ dataTabel.add(dataoplysning1);/*dette er et menupunkt, som opretter et objekt
og gemmer i vector´en*/
Data dataoplysning2 = new Data("Facebook.com", "Bjarne Olsen", "The1bad32feel");
dataTabel.add(dataoplysning2);
Data dataoplysning3= new Data("Twitter", "Herman Jessen","Degode3fort3l");
dataTabel.add(dataoplysning3);
我調用靜態方法向下跌破
//jeg kalder den static-metode save(Vector v, String sti)
FileManagement.save(dataTabel,sti);
//det kan være et nyt menupunkt, som gemmer vector´en på harddisken
Vector nyDataTabel = new Vector();
nyDataTabel=FileManagement.load(nyDataTabel,sti);
/* Henter tabellen på harddisken, som ikke bør være et menupunkt, men filen hentes
på harddisken, når programmet starter*/
for (int idx=0;idx<nyDataTabel.size();idx++)
{
dataoplysning1=(Data)nyDataTabel.elementAt(idx);
System.out.println("Hjemmeside. :"+dataoplysning1.getHjemmeside());
System.out.println("Brugernavn. :"+dataoplysning1.getusername());
System.out.println("Password. :"+dataoplysning1.getpassword());
System.out.println("---------------------------------------");
}
//Et menupunkt som udskriver hele vector´en
for (int idx=0;idx<nyDataTabel.size();idx++)
{
dataoplysning2 = (Data)nyDataTabel.elementAt(idx);
String Hjemmeside = dataoplysning2.getHjemmeside();
if (Hjemmeside.compareTo("Facebook.com")==0)
{
System.out.println("Find følgende brugernavn og password");
System.out.println("Hjemmeside. :"+dataoplysning2.getHjemmeside());
System.out.println("Brugernavn. :"+dataoplysning2.getusername());
System.out.println("Password. :"+dataoplysning2.getpassword());
idx=nyDataTabel.size();
}/*Det er et menupunkt, der søger efter brugeroplysninger på en bestem
hjemmeside i vector´en*/
else {
System.out.println("Dataerne passer ikke med hinanden");
}
}
// AES_encryption.user();//kalder metoden
AES_encryption.skriv(sti, x);
}
裏面的值
下面的方法就是將其寫入矢量值輸出到文本文件,這是問題的所在
public static void skriv(String fileName, Vector dataTabel) throws IOException
{
BufferedWriter outputWriter=null;
outputWriter = new BufferedWriter(new FileWriter(fileName));
for (int i = 0;i <dataTabel.size();i++)
{
//skriver enten
outputWriter.write(dataTabel.get(i) + "");
// eller
outputWriter.write(Integer.toString((int) dataTabel.get(i)));//her gemmer den arrayet til tekststrengen
outputWriter.newLine();//den går videre til en ny linje
}
outputWriter.flush(); //gemmer arrayet til tekstrengen filnavn
outputWriter.close();//afslutter gemning af fil og metoden
}
那麼我後來發現解決方案,它幾乎就像你說的因爲對象序列化,我忘了添加,然後我刪除了另一個包含BufferedReader的方法。 –
這聽起來不錯! – fcmonoid