Содержание
- Error writing object file assembler
- Error writing object file assembler
- Сообщения об ошибках
- Сообщения о фатальных ошибках
- Error writing object file assembler
- Сообщения об ошибках
- Сообщения о фатальных ошибках
- Assembler помогите создать файлы *.obj *.exe
- Error writing object file assembler
Error writing object file assembler
Сообщения о фатальных ошибках
П ри возникновении фатальных ошибок Турбо Ассемблер выдает соответствующее сообщение и ассемблирование пользовательского файла немедленно прекращается, независимо от того чем была вызвана эта ошибка. В этом разделе приводится перечень возможных сообщений о фатальных ошибках.
Bad switch (Неверный параметр-переключатель командной строки)
В командной строке указан неверный параметр. См. эту главу, где дается подробное описание параметров командной строки.
Can»t find @file __ (Не найден файл подсказок __)
В командной строке указано имя несуществующего файла подсказок. Следует проверить, указано ли полное имя файла. В Турбо Ассемблере отсутствует умолчание для расширения имени файла подсказок. Вероятной причиной данного сообщения может быть отсутствие места на диске при записи на этот диск файла, содержащего перекрестные ссылки.
Сan»t locate file __ (Не обнаружен файл __)
В директиве INCLUDE указано имя несуществующего файла. О директиве INCLUDE см. Главу 10 настоящего руководства, где описан алгоритм поиска Турбо Ассемблером включаемых файлов. Если выдано это сообщение, проверьте, правильно ли указано в имени файла имя дисковода и маршрут доступа.
Error writing to listing file (Ошибка при записи в файл листинга)
В озможно при записи файла листинга на диск было исчерпано место на этом диске.
Error writing to object file (Ошибка при записи в объектный файл)
В озможно при записи объектного файла на диск было исчерпано место на этом диске.
File not found (Не найден файл)
В командной строке указано имя несуществующего исходного файла. Проверьте, правильно ли указано имя файла, включены ли имя диска и маршрут доступа, если файл находится в каталоге, отличном от текущего.
File was changed or deleted while assembly in progress (Файл был изменен или уничтожен в процессе ассемблирования)
К акая-либо другая программа, например, резидентная активизируемая утилита, уничтожила открытый Турбо Ассемблером файл. В Турбо Ассемблере не допускается повторное открытие файла, который был ранее успешно открыт.
Insufficient memory to process command line (Не хватает памяти для обработки командной строки)
К омандная строка занимает более 64К, либо для ее обработки не хватает имеющейся памяти. Следует упростить командную строку либо запустить Турбо Ассемблер при наличии большего объема памяти.
Internal error (Внутренняя ошибка)
Э то сообщение не должно выдаваться при нормальной работе Турбо Ассемблера. Сделайте копию файлов, вызвавших появление этой ошибки, и сообщите в отдел технического обслуживания фирмы Borland.
Invalid command line (Недопустимая командная строка)
Н еверен формат командной строки, с помощью которой запускается Турбо Ассемблер. Например, в команде:
не указан исходный файл, который должен ассемблироваться. Здесь, где дается подробное описание командной строки.
Invalid number after _ (Недопустимый номер после _)
В ерно указан идентификатор параметра, однако неверно специфицирован числовой параметр после нее. См. этот раздел, где описаны параметры командной строки.
Out of hash space (Не хватает памяти под хеш-таблицы)
К аждому имени идентификатора, определяемому в пользовательской программе, соответствует один элемент хеш-таблицы. Эта таблица рассчитана на 16384 определяемых пользователем имен идентификаторов при условии запуска Турбо Ассемблера с достаточным объемом свободной памяти. Если в программе пользователя определено большее количество имен идентификаторов, то нужно указать параметр командной строки /КН, для того чтобы обеспечить в хеш-таблице нужное число элементов для описания этого количества символических имен.
Out of memory (Не хватает памяти)
Н е хватает свободной памяти для ассемблирования пользовательского файла. Попробуйте использовать TASMX.
Е сли в оперативной памяти имеются какие-либо резидентные в памяти программы, то следует убрать их и повторить ассемблирование файла. Возможно, что потребуется перезагрузить систему, для того чтобы полностью освободить память.
Д ругой путь состоит в том, чтобы разбить исходный файл на два или более, или переписать части исходного файла таким образом, чтобы его ассемблирование требовало меньше памяти. Для этого в программе следует укоротить имена идентификаторов, уменьшить число комментариев в макрокомандах, уменьшить число ссылок вперед.
Out of string space (Не хватает памяти под строки)
Н е хватает оперативной памяти для хранения строк: имен идентификаторов, имен файлов, информации для разрешения опережающих ссылок, текстов макрокоманд. Допускается максимум 512К памяти, а ваш модуль превысил этот объем. Попробуйте использовать TASMX.
Too many errors found (Обнаружено слишком много ошибок)
А ссемблирование пользовательского файла прекращено, поскольку в этом файле содержится слишком много ошибок. Возможно, что на самом деле ошибок не так уж и много, однако они таковы, что вызывают эффект «снежного кома». Примером такой ошибки может быть неверное определение имени идентификатора, которое используется во многих строках программы. На самом деле сделана лишь одна ошибка (неверно определено имя идентификатора), однако сообщение об ошибке будет выдано в каждой строке, где появляется это имя.
Т урбо Ассемблер прекращает ассемблирование файла, когда общее число ошибок и предупреждающих сообщений достигает 100.
Unexpected end of file (no END directive) (Неожиданный конец файла (отсутствует директива END))
В конце исходного файла отсутствует директива END. Каждый исходный файл обязательно должен заканчиваться директивой END.
Источник
Error writing object file assembler
Выберите нужный тип ошибки:
Сообщения об ошибках
Сообщения о фатальных ошибках
Bad switch Can’t find @file __ Сan’t locate file __ Error writing to listing file Error writing to object file File not found File was changed or deleted while assembly in progress Insufficient memory to process command line Internal error Invalid command line Invalid number after _ Out of hash space Out of memory Out of string space Too many errors found Unexpected end of file (no END directive)
Bad switch Неверный параметр-переключатель командной строки. Can’t find @file __ Не найден файл подсказок __. Сan’t locate file __ Не обнаружен файл __. При выдаче этого сообщения нужно проверить, правильно ли указаны в имени файла имя дисковода и маршрут доступа к файлу, указанному в директиве INCLUDE. Error writing to listing file Ошибка при записи в файл листинга. Возможно, просто исчерпано место на диске. Error writing to object file Ошибка при записи в объектный файл. Возможно, просто исчерпано место на диске. File not found Не найден файл. В командной строке указано имя несуществующего исходного файла. File was changed or deleted while assembly in progress Файл был изменен или уничтожен в процессе ассемблирования. Insufficient memory to process command line Не хватает памяти для обработки командной строки. Internal error Внутренняя ошибка. Invalid command line Недопустимая командная строка Invalid number after _ Недопустимый номер после _. Out of hash space Не хватает памяти под хеш-таблицы. Для каждого имени идентификатора в программе транслятор формирует один элемент таблицы идентификаторов. Эта таблица рассчитана на 16 384 имени идентификаторов. При необходимости это число можно увеличить, используя параметр командной строки /kh. Out of memory Не хватает памяти. Для ассемблирования пользовательского файла недостаточно свободной памяти. Out of string space Не хватает памяти под строки. Здесь имеется в виду выделяемый объем памяти для хранения строк, представляющих собой имена идентификаторов, имена файлов, информацию для разрешения опережающих ссылок, текстов макрокоманд. Допускается максимум 512 Кбайт памяти, но в результате компиляции исходной программы этот объем был превышен. Too many errors found Обнаружено слишком много ошибок. Трансляция прекращена, так как в исходном файле содержится слишком много ошибок. Unexpected end of file (no END directive) Неожиданный конец файла (отсутствует директива END).
Fore kc .ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
Источник
Error writing object file assembler
Выберите нужный тип ошибки:
Сообщения об ошибках
Сообщения о фатальных ошибках
Bad switch Can’t find @file __ Сan’t locate file __ Error writing to listing file Error writing to object file File not found File was changed or deleted while assembly in progress Insufficient memory to process command line Internal error Invalid command line Invalid number after _ Out of hash space Out of memory Out of string space Too many errors found Unexpected end of file (no END directive)
Bad switch Неверный параметр-переключатель командной строки. Can’t find @file __ Не найден файл подсказок __. Сan’t locate file __ Не обнаружен файл __. При выдаче этого сообщения нужно проверить, правильно ли указаны в имени файла имя дисковода и маршрут доступа к файлу, указанному в директиве INCLUDE. Error writing to listing file Ошибка при записи в файл листинга. Возможно, просто исчерпано место на диске. Error writing to object file Ошибка при записи в объектный файл. Возможно, просто исчерпано место на диске. File not found Не найден файл. В командной строке указано имя несуществующего исходного файла. File was changed or deleted while assembly in progress Файл был изменен или уничтожен в процессе ассемблирования. Insufficient memory to process command line Не хватает памяти для обработки командной строки. Internal error Внутренняя ошибка. Invalid command line Недопустимая командная строка Invalid number after _ Недопустимый номер после _. Out of hash space Не хватает памяти под хеш-таблицы. Для каждого имени идентификатора в программе транслятор формирует один элемент таблицы идентификаторов. Эта таблица рассчитана на 16 384 имени идентификаторов. При необходимости это число можно увеличить, используя параметр командной строки /kh. Out of memory Не хватает памяти. Для ассемблирования пользовательского файла недостаточно свободной памяти. Out of string space Не хватает памяти под строки. Здесь имеется в виду выделяемый объем памяти для хранения строк, представляющих собой имена идентификаторов, имена файлов, информацию для разрешения опережающих ссылок, текстов макрокоманд. Допускается максимум 512 Кбайт памяти, но в результате компиляции исходной программы этот объем был превышен. Too many errors found Обнаружено слишком много ошибок. Трансляция прекращена, так как в исходном файле содержится слишком много ошибок. Unexpected end of file (no END directive) Неожиданный конец файла (отсутствует директива END).
Fore kc .ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
Источник
Assembler помогите создать файлы *.obj *.exe
В C: закидываю файл hello.asm tasm.exe . пытаюсь создать объектный файл через МС-Дос, происходит следующее:
C:Documents and SettingsВладелец>c:tasm.exe hello.asm, hello.obj, hello.lst
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International
Assembling file: hello.asm
**Fatal** Command line: Can’t locate file: hello.asm ——Интересует эта строчка, файл там есть но чё он его ненаходит?
Error messages: 1
Warning messages: None
Passes: 1
Remaining memory: 452k
Содержание hello.asm :
.model tiny
.code
org 100h ; СОМ-программа
start:
lea dx,msg
mov ah,9
int 21h
ret
msg db ‘Hello, world!$’
end start
тоже самое происходит и с другими «асмами»,:
disp.asm
title disp.asm
mycode segment
assume cs: mycode
main proc far
go: push es ;save ES on Stack
mov ax, 0
push ax ;save address 0
;———————————-
mov dl , ‘*’ ;data to be displayed
mov ah, 2 ;function — 2
int 21h ;call MS-DOS
;———————————-
ret ;go back to MS-DOS
main endp
mycode ends
end go ;start from go
помогите за ранние большое спасибо!
Вот синтаксис строки вызова TASM:
Turbo Assembler Version 2.5 Copyright (c) 1988, 1991 Borland International
Syntax: TASM [options] source [,object] [,listing] [,xref]
/a,/s Alphabetic or Source-code segment ordering
/c Generate cross-reference in listing
/dSYM[=VAL] Define symbol SYM = 0, or = value VAL
/e,/r Emulated or Real floating-point instructions
/h,/? Display this help screen
/iPATH Search PATH for include files
/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)
/kh# Hash table capacity # symbols
/l,/la Generate listing: l=normal listing, la=expanded listing
/ml,/mx,/mu Case sensitivity on symbols: ml=all, mx=globals, mu=none
/mv# Set maximum valid length for symbols
/m# Allow # multiple passes to resolve forward references
/n Suppress symbol tables in listing
/o,/op Generate overlay object code, Phar Lap-style 32-bit fixups
/p Check for code segment overrides in protected mode
/q Suppress OBJ records not needed for linking
/t Suppress messages if successful assembly
/w0,/w1,/w2 Set warning level: w0=none, w1=w2=warnings on
/w-xxx,/w+xxx Disable (-) or enable (+) warning xxx
/x Include false conditionals in listing
/z Display source line with error message
/zi,/zd Debug info: zi=full, zd=line numbers only
Источник
Error writing object file assembler
Сообщения о фатальных ошибках
П ри возникновении фатальных ошибок Турбо Ассемблер выдает соответствующее сообщение и ассемблирование пользовательского файла немедленно прекращается, независимо от того чем была вызвана эта ошибка. В этом разделе приводится перечень возможных сообщений о фатальных ошибках.
Bad switch (Неверный параметр-переключатель командной строки)
В командной строке указан неверный параметр. См. эту главу, где дается подробное описание параметров командной строки.
Can»t find @file __ (Не найден файл подсказок __)
В командной строке указано имя несуществующего файла подсказок. Следует проверить, указано ли полное имя файла. В Турбо Ассемблере отсутствует умолчание для расширения имени файла подсказок. Вероятной причиной данного сообщения может быть отсутствие места на диске при записи на этот диск файла, содержащего перекрестные ссылки.
Сan»t locate file __ (Не обнаружен файл __)
В директиве INCLUDE указано имя несуществующего файла. О директиве INCLUDE см. Главу 10 настоящего руководства, где описан алгоритм поиска Турбо Ассемблером включаемых файлов. Если выдано это сообщение, проверьте, правильно ли указано в имени файла имя дисковода и маршрут доступа.
Error writing to listing file (Ошибка при записи в файл листинга)
В озможно при записи файла листинга на диск было исчерпано место на этом диске.
Error writing to object file (Ошибка при записи в объектный файл)
В озможно при записи объектного файла на диск было исчерпано место на этом диске.
File not found (Не найден файл)
В командной строке указано имя несуществующего исходного файла. Проверьте, правильно ли указано имя файла, включены ли имя диска и маршрут доступа, если файл находится в каталоге, отличном от текущего.
File was changed or deleted while assembly in progress (Файл был изменен или уничтожен в процессе ассемблирования)
К акая-либо другая программа, например, резидентная активизируемая утилита, уничтожила открытый Турбо Ассемблером файл. В Турбо Ассемблере не допускается повторное открытие файла, который был ранее успешно открыт.
Insufficient memory to process command line (Не хватает памяти для обработки командной строки)
К омандная строка занимает более 64К, либо для ее обработки не хватает имеющейся памяти. Следует упростить командную строку либо запустить Турбо Ассемблер при наличии большего объема памяти.
Internal error (Внутренняя ошибка)
Э то сообщение не должно выдаваться при нормальной работе Турбо Ассемблера. Сделайте копию файлов, вызвавших появление этой ошибки, и сообщите в отдел технического обслуживания фирмы Borland.
Invalid command line (Недопустимая командная строка)
Н еверен формат командной строки, с помощью которой запускается Турбо Ассемблер. Например, в команде:
не указан исходный файл, который должен ассемблироваться. Здесь, где дается подробное описание командной строки.
Invalid number after _ (Недопустимый номер после _)
В ерно указан идентификатор параметра, однако неверно специфицирован числовой параметр после нее. См. этот раздел, где описаны параметры командной строки.
Out of hash space (Не хватает памяти под хеш-таблицы)
К аждому имени идентификатора, определяемому в пользовательской программе, соответствует один элемент хеш-таблицы. Эта таблица рассчитана на 16384 определяемых пользователем имен идентификаторов при условии запуска Турбо Ассемблера с достаточным объемом свободной памяти. Если в программе пользователя определено большее количество имен идентификаторов, то нужно указать параметр командной строки /КН, для того чтобы обеспечить в хеш-таблице нужное число элементов для описания этого количества символических имен.
Out of memory (Не хватает памяти)
Н е хватает свободной памяти для ассемблирования пользовательского файла. Попробуйте использовать TASMX.
Е сли в оперативной памяти имеются какие-либо резидентные в памяти программы, то следует убрать их и повторить ассемблирование файла. Возможно, что потребуется перезагрузить систему, для того чтобы полностью освободить память.
Д ругой путь состоит в том, чтобы разбить исходный файл на два или более, или переписать части исходного файла таким образом, чтобы его ассемблирование требовало меньше памяти. Для этого в программе следует укоротить имена идентификаторов, уменьшить число комментариев в макрокомандах, уменьшить число ссылок вперед.
Out of string space (Не хватает памяти под строки)
Н е хватает оперативной памяти для хранения строк: имен идентификаторов, имен файлов, информации для разрешения опережающих ссылок, текстов макрокоманд. Допускается максимум 512К памяти, а ваш модуль превысил этот объем. Попробуйте использовать TASMX.
Too many errors found (Обнаружено слишком много ошибок)
А ссемблирование пользовательского файла прекращено, поскольку в этом файле содержится слишком много ошибок. Возможно, что на самом деле ошибок не так уж и много, однако они таковы, что вызывают эффект «снежного кома». Примером такой ошибки может быть неверное определение имени идентификатора, которое используется во многих строках программы. На самом деле сделана лишь одна ошибка (неверно определено имя идентификатора), однако сообщение об ошибке будет выдано в каждой строке, где появляется это имя.
Т урбо Ассемблер прекращает ассемблирование файла, когда общее число ошибок и предупреждающих сообщений достигает 100.
Unexpected end of file (no END directive) (Неожиданный конец файла (отсутствует директива END))
В конце исходного файла отсутствует директива END. Каждый исходный файл обязательно должен заканчиваться директивой END.
Источник
|
|||||||||||
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее… |
Hello everybody.
I am learning C ++ programming by myself, watching YouTube videos about C ++ programming and reading some free books that I download from the web.
This is my first time on this forum and I’m not sure if I can ask questions to find a bug. If not, I apologize.
I am making a program in OOP to save the objects of a class in a file. The second part of the program reads this file and prints it to the console.
My problem lies with variables (attributes) type string, because when writing these variables to the file and then reading them, it does not read what the file is supposed to contain. With other types of variables (int) the program works fine. I have the problem with string variables. Next I show you the program and what it displays on the console.
Program:
// Create athletes object file
#include <iostream>
#include <fstream>
using namespace std;
// Class to define the properties
class Athletes {
public: // Instance variables
string AName; // athlete name
int AAge; // athlete age
public: // Methods
int createFile(); // Function to create file
int readFile(); // Function to read file
};
int Athletes::createFile() { // Athletes: create file rutine
ofstream AFile; // output file
AFile.open(«/sdcard/Download/C_C++/Athletes.txt», ios::out);
printf («Open output status: %dnn», AFile.rdstate());
Athletes a1;
a1.AName = «Peter»; a1.AAge=21;
AFile.write((char*)&a1, sizeof(a1));
printf («Write status: %d Fields: %s %dn»,
AFile.rdstate(), a1.AName.c_str(), a1.AAge);
a1.AName = «John»; a1.AAge=23;
AFile.write((char*)&a1, sizeof(a1));
printf («Write status: %d Fields: %s %dn»,
AFile.rdstate(), a1.AName.c_str(), a1.AAge);
cout << endl;
AFile.flush();
AFile.close();
return 0;
}
int Athletes::readFile() { // Athletes: read file rutine
ifstream AFile; // read file
AFile.open(«/sdcard/Download/C_C++/Athletes.txt», ios::in);
printf («Open input status: %dnn», AFile.rdstate());
Athletes a1;
AFile.read((char*)&a1, sizeof(a1));
printf («Read status : %d «, AFile.rdstate());
printf («athlete’s name: %s age: %dn», a1.AName.c_str(), a1.AAge);
AFile.read((char*)&a1, sizeof(a1));
printf («Read status : %d «, AFile.rdstate());
printf («athlete’s name: %s age: %dn», a1.AName.c_str(), a1.AAge);
cout << endl;
AFile.close();
printf («Read status : %dn», AFile.rdstate());
return 0;
}
int main()
{
// Creating object of the class
Athletes obj;
// Inputting the data
obj.createFile();
obj.readFile();
printf («Program ended»);
return 0;
}
Console output:
Open output status: 0
Write status: 0 Fields: Peter 21
Write status: 0 Fields: John 23
Open input status: 0
Read status : 0 athlete’s name: John age: 21
Read status : 0 athlete’s name: John age: 23
Read status : 0
Program ended
For some unknown reason it cannot read the first field of the first record. The one that starts with Peter.
I would really appreciate if someone can help me with this problem in the program.
You can’t write a std::string variable to a file and expect to read it back.
std::string is not a POD (Plain Old Data) class.
std::string may contain a memory pointer to heap memory (outside the class).
What may get written to the file if you treat syd::string as a POD class is the memory pointer,
PLEASE ALWAYS USE CODE TAGS (the <> formatting button) when posting code.
It makes it easier to read your code and also easier to respond to your post.
http://www.cplusplus.com/articles/jEywvCM9/
Hint: You can edit your post, highlight your code and press the <> formatting button.
You need to choose a storage format for the string data.
There are three common choices:
1. Use a fixed size buffer Pro: simple allows "random access" to records (i.e., all records are the same size) Con: wastes space 2. Store the string data complete with a '' (or possibly other) terminator. Pro: simple Con: don't know the size of the string until you've read the last char no random access can't store the terminator ('') char in the string 3. Store the size of the string first, then the string data. Pro: know the size of the string so it storage can be allocated before the char data is read Con: no random access
You should open the files in «binary» mode so that any «text-mode» alterations to the raw stream data are turned off.
Here’s an example of storing the size first:
|
|
@OP Before you do some filing, some suggested changes to the Athlete class. Note that std::
sprayed everywhere (as appropriate) is a better alternative to using namespace std
|
|
??? -99 Jack 32 Program ended with exit code: 0
You might have success if you look up using json or xml format. Both are easy to use, and were created for storing data from objects.
They both have the upside/downside that when they are saved they will be human readable, so it’s possible to modify the data in notepad without the program running. If that’s a problem then a little encryption might be fun to play with.
They both allow for storing data for multiple objects in the same file, but if you are going to save a lot of different objects, then I’d recommend xml for it’s robustness.
Last edited on
@OP Extending that to filing:
|
|
??? -99 Jack 32 ??? -99 Jack 32 Peter 21 John 23 Mary 22 Program ended with exit code: 0
@javier55 For the requirement, I’d be looking to dutch’s option 1).
Possibly:
|
|
Last edited on
what is happening:
you are storing a pointer in the file. When you try to write an object with a pointer in it directly, you get the pointer, not the data. Pointers are just a location in ram where you data was this time, but your data won’t be there next time… it will not work.
the above answers all do one thing in common: they write the data, not the pointer, to the file.
you will run into this for every c++ container (vector, string, list, etc). They all use pointers internally and cann’t be directly written to a file, you have to go to the data and write that, and when reading, repopulate the container from the data.
random access means you can go to the nth record directly: the file is like an array, each location the same size, so you can jump around in it at the object/class/record level, and you can overwrite it easier too(to me this is a bigger deal: changing 1 byte and having to write 5g back to disk is poor), because you can change just 1 record without moving the others around. Random access is highly desirable you can get there by padding each field so you can just .read or .write an object directly, or you can pad at the record level and parse the record data each time.
Last edited on
|
|
??? -99 Jack 32 Contents of athFile_2.txt Jack 32 Mary 22 Contents of athFile_1.txt ??? -99 Peter 21 John 23 Program ended with exit code: 0
Thanks everyone for your help. I changed the program from std :: string to char and it worked fine. I also used fixed size buffer as one of you suggested (I think it was dutch). I didn’t know about POD classes until now, so I have to keep studying more. Anyway I will analyze all your comments and do tests. Thanks.
This is how my program looks now:
|
|
And the output was:
|
|
Thanks again
Last edited on
Topic archived. No new replies allowed.
Hey ,
I have a problem writing/reading an object from my account class . Netbeans gives me a java.lang.nullPointerException. I know that save_account and load_account functions in my class bank are where error occurs
(from stepping through code) but can’t figure this out. Any help would be appreciated. Source for bank class:
class Bank {
private FileInputStream infile = null;
private FileOutputStream outfile = null;
private ObjectInputStream account_object = null;
private ObjectOutputStream current_account_object = null;
private Account filed_account = null;
private boolean successful = false;
private String data_file = null;
Bank(String filename) {
data_file = filename;
}
public Account get_account() {
return filed_account;
}
public boolean load_account(String name) {
try {
infile = new FileInputStream(data_file);
account_object = new ObjectInputStream(infile);
while (successful != true && account_object.readObject() != null) {
filed_account = (Account) account_object.readObject();
if (name.equalsIgnoreCase(filed_account.get_name())) {
successful = true;
}
}
account_object.close();
infile.close();
} catch (Exception e) {
System.out.println("n Error: " + e);
}
return successful;
}
public boolean save_account(Account user_account) {
try {
outfile = new FileOutputStream(data_file);
current_account_object = new ObjectOutputStream(outfile);
while(current_account_object != null){
current_account_object.writeObject(user_account);
successful = true;
//outfile.flush();
account_object.close();
// outfile.close();
}
} catch (Exception e) {
System.out.println("n Error: " + e);
}
return successful;
}
}
}