Sample code for 30+ languages & platforms
Go

FTP Download Text File to a Stream

See more FTP Examples

Demonstrates how to FTP download a text file to a Chilkat stream.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat Go Downloads

Go
    success := false

    // This example assumes the Chilkat FTP2 API to have been previously unlocked.
    // See FTP2 Unlock Sample for sample code.

    ftp := chilkat.NewFtp2()

    ftp.SetHostname("www.my-ftp-server.com")
    ftp.SetUsername("mFtpLogin")
    ftp.SetPassword("myFtpPassword")
    ftp.SetAuthTls(true)
    ftp.SetPassive(true)

    // Connect and login to the FTP server using TLS.
    success = ftp.Connect()
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    streamObj := chilkat.NewStream()

    // Indicate the charset of the incoming data.
    streamObj.SetStringCharset("utf-8")

    // Create a task to do the FTP download.
    c := make(chan *chilkat.Task)
    go ftp.GetFileToStreamAsync("lines.txt",streamObj,c)
    t := <-c
    if ftp.LastMethodSuccess() != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        streamObj.DisposeStream()
        t.DisposeTask()
        return
    }

    // Start the task in a background thread.

    // Read the incoming text data using any of the streamObj Read methods.
    // This example will read line-by-line.
    var line *string = new(string)
    for streamObj.EndOfStream() != true {
        line = streamObj.ReadToCRLF()
        if streamObj.LastMethodSuccess() == true {
            fmt.Println(*line)
        }

    }

    t.DisposeTask()

    fmt.Println("Success.")

    ftp.DisposeFtp2()
    streamObj.DisposeStream()
    t.DisposeTask()