При разработке WEB-приложений нам часто необходимо обрабатывать диски, папки и файлы в файловой системе, например собирать информацию о дисках, создавать, добавлять, перемещать или удалять папки и файлы и т. д. В VB6 для доступа к файловой системе предусмотрена новая объектная модель под названием FSO (Объект файловой системы). Эта модель предоставляет объектно-ориентированный инструмент. Благодаря ряду предоставляемых ею свойств и методов мы можем более просто и гибко выполнять различные операции с файловой системой в приложении.
1. Знакомство с FSO Объектная модель FSO включает в себя следующие объекты:
Объект диска: позволяет собирать такую информацию, как доступное пространство и общие имена дисков, таких как жесткие диски и компакт-диски, которые физически подключены к системе или логически подключены к системе через локальную сеть.
Объект «Папка»: позволяет создавать, удалять или перемещать папки, а также запрашивать у системы имя, путь и т. д. папки.
Объект «Файлы»: позволяет создавать, удалять или перемещать файлы, а также запрашивать в системе имена файлов, пути и т. д.
Объект TextStream: позволяет создавать, читать и записывать текстовые файлы.
Объект FileSystemObject: предоставляет полный набор методов для операций с диском, папкой и файлом. Функционально его можно рассматривать как набор вышеуказанных объектов и часто использовать вместе с ними. Многие методы, связанные с этим объектом, дублируют методы предыдущих четырех объектов, поэтому мы можем выполнять большинство операций с дисками, папками и файлами либо через объект FileSystemObject, либо через соответствующий объект диска, папки или файла. Управляйте этими компонентами. Модель FSO реализует операции над одним и тем же объектом с помощью двух методов, и эффекты операций одинаковы. Целью предоставления этой избыточной функции является достижение максимальной гибкости программирования.
В этой статье мы объясним работу с текстовыми файлами, используя объект TextStream объектной модели FSO.
(1) Используйте FileSystemObject для получения объектов текстового файла 1. Создание экземпляра объекта FileSystemObject Для выполнения файловых операций необходимо сначала создать экземпляр объекта FileSystemObject для создания или открытия файла. Конкретный формат создания экземпляра объекта FileSystemObject (на примере AFileSystemObject):
Установите AFileSystemObject = CreateObject("Scripting.FileSystemObject")
2. Используйте FileSystemObject для получения объекта текстового файла TextStream.
FileSystemObject предоставляет два метода для получения объектов текстового файла TextStream, среди которых CreateTextFile используется для создания файлов, а OpenTextFile используется для открытия существующих файлов. Возвращаемым результатом обоих методов является экземпляр объекта TextStream. Этот объект можно использовать для определенных операций с файлами. быть выполнено.
⑴Создание нового файла Конкретный формат метода создания нового файла (возьмем в качестве примера AFileSystemObject):
AFilesystemObject.CreateTextFile(NewFileName, OverwriteExistingFile, IsUnicode)
в:
NewFileName — строковое значение, указывающее имя создаваемого файла, обычно фактический путь к файлу плюс имя файла, например C:webshareaspsampfiletest.txt.
OverwriteExistingFile — это логическое значение, указывающее, следует ли перезаписывать исходный файл, если существует файл с таким же именем. Этот параметр можно опустить. Значение по умолчанию — False, что означает, что исходный файл не будет перезаписан.
IsUnicode — это логическое значение, указывающее, является ли создаваемый файл файлом ASCII или файлом Unicode.
Этот параметр можно опустить, а значением по умолчанию является False, то есть файл ASCII.
⑵ Открытие существующего файла Конкретный формат метода открытия существующего файла (возьмем в качестве примера AFileSystemObject):
AFilesystemObject.OpenTextFile(имя_файла,IOMode,создание,формат)
в:
FileName — это строковое значение, указывающее имя открываемого файла, обычно фактический путь к файлу плюс имя файла, C:filepathtest.txt.
IOMode — постоянное значение, указывающее цель открытия файла, а ForReading(1) — чтение данных;
ForAppending означает добавление данных. Этот параметр можно опустить, значением по умолчанию является ForReading.
Create — это логическое значение, указывающее, создавать ли новый файл, если открываемый файл не существует.
Этот параметр можно опустить. Значение по умолчанию — False, что означает, что новый файл создаваться не будет.
Формат представляет собой способ открытия файла. Его возможные значения и значения следующие:
TristateTrue: открыть в режиме Юникода.
TristateFalse: открыть в режиме ASCII.
TristateUseDefault: открыть в режиме системы по умолчанию.
Этот параметр можно опустить, и по умолчанию используется TristateFalse, что соответствует режиму ASCII.
(два). Использование TextStream для операций с файлами После создания или открытия файла вы можете использовать методы, предоставляемые объектом TextStream, для выполнения реальных операций с файлами.
1. Для операций записи используются следующие методы:
⑴Запись (строка)
Записывает строку, указанную параметром string, в файл.
⑵WriteLine(строка)
Записывает строку, указанную параметром string, в файл и записывает символ новой строки.
Строку параметра можно опустить, в этом случае в файл будет вставлена пустая строка.
⑶Запись пустых строк (NumOfLines)
Вставьте в файл несколько пустых строк, количество строк задается параметром NumOfLines.
2. Для операций чтения используются следующие методы и методы атрибутов:
⑴ВКонцеЛинии
Этот атрибут представляет собой логическое значение, указывающее, указывает ли указатель файла на конец текущей строки.
⑵ВКонцеПотока
Этот атрибут представляет собой логическое значение, указывающее, указывает ли указатель файла на конец файла.
⑶ Столбец
Этот атрибут представляет собой целочисленное значение, представляющее положение указателя файла в текущей строке.
⑷Линия
Этот атрибут представляет собой целочисленное значение, представляющее номер строки, в которой находится указатель файла.
⑸ Чтение (Количество символов)
Этот метод начинается с текущей позиции файла, считывает количество символов, указанное числом NumOfCharacters, и возвращает строку.
⑹Чтение строки
Этот метод начинается с текущей позиции файла, считывает содержимое текущей строки до конца и возвращает строку.
⑺Читать все
Этот метод начинается с текущей позиции, считывает содержимое всего файла до конца и возвращает строку.
⑻ Пропустить (Количество символов)
Этот метод начинается с текущей позиции файла и пропускает количество символов, указанное числом NumOfCharacters.
⑼ СКИПЛАЙН
Этот метод начинается с текущей позиции файла и пропускает содержимое текущей строки.
3. Для закрытия файлов используются следующие методы:
⑴ Закрыть
Закройте уже созданные или открытые файлы.
(3) Ниже приведен пример, иллюстрирующий, как использовать FSO для чтения текстовых файлов и сохранения их в базе данных:
1. Сначала создайте страницу для чтения пути к файлу: file.htm
...
<FORM METHOD=POST ACTION= "upFile .asp" >
<div align="center"> <br>
<br>
<br>
<br>
<input type="file" name="path" size="40">
<INPUT TYPE="submit " name ="dr" value="Импортировать информацию">
</div>
</FORM>
…
2. Напишите код для сохранения полученного текстового значения в базу данных: upFile.asp
<%Response .Buffer=true%>
<!--#include file="adovbs.inc"-->
<%
strConn="DSN=DataSourceName"
set Conn=Server.CreateObject("ADODB.Connection")
Conn.open strConn
set ObjComm =Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg" 'Вызов хранимой процедуры
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''Создание ввода и выходные параметры''' ''''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --Английское название компании
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --Адрес компании
Set ObjParamCity=ObjComm.CreateParameter("WC_City" ,adVarchar,adParamInput, 100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --City
...
'''''''''' Создание параметра завершено'''''''''' '''''' '''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject( "Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''Извлечение данных'''''''''''''''''' '''' ''''
DO WHILE NOT ATextStream.AtEndOfStream
''''''Инициализировать переменные''''''''''''''
strLine1=""
strLine2=""
strLine3=""
…
' '' '''''''''''''''''''''''''
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11) )
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
'End if
''''''''''Добавьте переменную в набор параметров'''''' '' '''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
...
''''''''''Операция завершается''''''''''''' ''' '''
ObjComm.Execute() 'Выполните команду
LOOP
response.write "<br>"+"Импортируйте библиотеку успешно! <a href=dolist.html>[Продолжить импорт]</a><br>"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
Вложение: хранимая процедура код sp_AddMsg
CREATE PROCEDURE dbo.sp_AddMsg -- Импортировать зарубежные предприятия Информация
(
@in_CompanyName Varchar(100), --Название компании
@in_Address Varchar(200), --Адрес компании
@in_City Varchar(100), --Город компании
...
)
AS
SET NOCOUNT ON
BEGIN TRAN
INSERT INTO Tb_WCLibrary(
WC_CompanyName ,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF @@ERROR <> 0
НАЧАТЬ
ОТКАТ TRAN
RETURN -1
END
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF
На этом этапе полное текстовое объяснение выглядит так: окончено, я надеюсь, что эта статья Статья может помочь читателям.