2015-03-03 3 views
1

Я пытаюсь создать скрипт в VBScript для PowerAMC. И у меня странный мизан.VBScript создайте и откройте новый файл

проверить все элементы, чтобы сделать файл с контентом (файл XSD):

private Sub writeInFile(pathFolder, pathFile, val) 
    Output "WriteInFile["&pathFolder&pathFile&"]" 
    Dim fso, MyFile 
    Set fso = CreateObject("Scripting.FileSystemObject") 

    Set MyFile = fso.CreateTextFile(pathFolder&pathFile, true) 
    If (fso.FileExists(pathFolder&pathFile)) Then 
    MyFile.WriteLine(val) 
    Else 
    ouput "File can't be create" 
    End If 

    MyFile.Close 
    end Sub 

И файл существует с хорошим содержанием :) Но если я пытаюсь прочитать его:

public Function readFile(path) 
    'Declare variables 
    Dim objFSO, objReadFile, contents 

    'Set Objects 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Set objReadFile = objFSO.OpenTextFile(path, 1, false) 

    'Read file contents 
    contents = objReadFile.ReadAll 

    'Close file 
    objReadFile.close 


    'Cleanup objects 
    Set objFSO = Nothing 
    Set objReadFile = Nothing 


    readFile = contents 
    End Function 

Я получаю это: «ÿþ <» только для содержания ... Но если я попытаюсь прочитать файл, который не создан предыдущей функцией, он работает отлично.

В чем моя проблема? Что такое мой мистик? Я думаю, что нужно форматировать проблему, но что?

Thx за помощью!

+1

Вы, вероятно, пытается прочитать UTF-8 файл в кодировке. Взгляните на http://stackoverflow.com/a/13855268/4584335 – Rubik

ответ

1

Я думаю, что проблема возникает из-формате Unicode, смотреть на это =>FileSystemObject - Reading Unicode Files

+0

Я решил проблему с помощью: Установить oReadfile = FS.OpenTextFile (sFile, 1, False, True) Истинный аргумент исправил ошибку THX! – pikameuh