Updated classes with bottom indexing notes related to copyright and license.
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
note
|
|
description: "Objects that ..."
|
|
author: ""
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
JSON_FILE_READER
|
|
|
|
feature -- Access
|
|
|
|
read_json_from (a_path: READABLE_STRING_GENERAL): detachable STRING
|
|
local
|
|
l_file: PLAIN_TEXT_FILE
|
|
l_last_string: detachable STRING
|
|
l_file_count: INTEGER
|
|
l_fetch_done: BOOLEAN
|
|
do
|
|
create l_file.make_with_name (a_path)
|
|
-- We perform several checks until we make a real attempt to open the file.
|
|
if not l_file.exists then
|
|
print ("error: '" + a_path.out + "' does not exist%N") -- FIXME: unicode may be truncated
|
|
else
|
|
if not l_file.is_readable then
|
|
print ("error: '" + a_path.out + "' is not readable.%N") -- FIXME: unicode may be truncated
|
|
else
|
|
l_file_count := l_file.count
|
|
l_file.open_read
|
|
from
|
|
create Result.make (l_file_count)
|
|
until
|
|
l_fetch_done
|
|
loop
|
|
l_file.read_stream (1_024)
|
|
l_last_string := l_file.last_string
|
|
l_fetch_done := l_file.exhausted or l_file.end_of_file or l_last_string.count < 1_024
|
|
if not l_last_string.is_empty then
|
|
Result.append (l_last_string)
|
|
end
|
|
end
|
|
l_file.close
|
|
end
|
|
end
|
|
end
|
|
|
|
note
|
|
copyright: "2010-2014, Javier Velilla and others https://github.com/eiffelhub/json."
|
|
license: "https://github.com/eiffelhub/json/blob/master/License.txt"
|
|
end
|