def get_file_to_text(<EOL>self, share_name, directory_name, file_name, encoding='<STR_LIT:utf-8>',<EOL>start_range=None, end_range=None, validate_content=False,<EOL>progress_callback=None, max_connections=<NUM_LIT:2>, timeout=None, snapshot=None):
_validate_not_none('<STR_LIT>', share_name)<EOL>_validate_not_none('<STR_LIT>', file_name)<EOL>_validate_not_none('<STR_LIT>', encoding)<EOL>file = self.get_file_to_bytes(<EOL>share_name,<EOL>directory_name,<EOL>file_name,<EOL>start_range,<EOL>end_range,<EOL>validate_content,<EOL>progress_callback,<EOL>max_connections,<EOL>timeout,<EOL>snapshot)<EOL>file.content = file.content.decode(encoding)<EOL>return file<EOL>
Downloads a file as unicode text, with automatic chunking and progress
notifications. Returns an instance of :class:`~azure.storage.file.models.File` with properties,
metadata, and content.

:param str share_name:
    Name of existing share.
:param str directory_name:
    The path to the directory.
:param str file_name:
    Name of existing file.
:param str encoding:
    Python encoding to use when decoding the file data.
:param int start_range:
    Start of byte range to use for downloading a section of the file.
    If no end_range is given, all bytes after the start_range will be downloaded.
    The start_range and end_range params are inclusive.
    Ex: start_range=0, end_range=511 will download first 512 bytes of file.
:param int end_range:
    End of byte range to use for downloading a section of the file.
    If end_range is given, start_range must be provided.
    The start_range and end_range params are inclusive.
    Ex: start_range=0, end_range=511 will download first 512 bytes of file.
:param bool validate_content:
    If set to true, validates an MD5 hash for each retrieved portion of 
    the file. This is primarily valuable for detecting bitflips on the wire 
    if using http instead of https as https (the default) will already 
    validate. Note that the service will only return transactional MD5s 
    for chunks 4MB or less so the first get request will be of size 
    self.MAX_CHUNK_GET_SIZE instead of self.MAX_SINGLE_GET_SIZE. If 
    self.MAX_CHUNK_GET_SIZE was set to greater than 4MB an error will be 
    thrown. As computing the MD5 takes processing time and more requests 
    will need to be done due to the reduced chunk size there may be some 
    increase in latency.
:param progress_callback:
    Callback for progress with signature function(current, total) 
    where current is the number of bytes transfered so far, and total is 
    the size of the file if known.
:type progress_callback: func(current, total)
:param int max_connections:
    If set to 2 or greater, an initial get will be done for the first 
    self.MAX_SINGLE_GET_SIZE bytes of the file. If this is the entire file, 
    the method returns at this point. If it is not, it will download the 
    remaining data parallel using the number of threads equal to 
    max_connections. Each chunk will be of size self.MAX_CHUNK_GET_SIZE.
    If set to 1, a single large get request will be done. This is not 
    generally recommended but available if very few threads should be 
    used, network requests are very expensive, or a non-seekable stream 
    prevents parallel download. This may also be valuable if the file is 
    being concurrently modified to enforce atomicity or if many files are 
    expected to be empty as an extra request is required for empty files 
    if max_connections is greater than 1.
:param int timeout:
    The timeout parameter is expressed in seconds. This method may make 
    multiple calls to the Azure service and the timeout will apply to 
    each call individually.
:param str snapshot:
    A string that represents the snapshot version, if applicable.
:return: A File with properties, content, and metadata.
:rtype: :class:`~azure.storage.file.models.File`