We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Post 7
Elixir read/write files
Published on: 2025-04-01
Tags:
elixir, NimbleParsec, Libraries, files, stream
File is a function that can do what you need for any given read/write. I made these 2 functions for accessing and writing to a file. def open_file(file_path \\ "camel_case_test_lines.txt") do case File.read(file_path) do {:ok, content} -> String.split(content, "\n", trim: true) {:error, reason} -> {:error, "Failed to open file: #{reason}"} end end def write_file(lines, target_file \\ "camel_case_test_lines.edit") do case File.open(target_file, [:write, :utf8]) do {:ok, target} -> Enum.each(lines, fn line -> IO.write(target, line) end) File.close(target) IO.puts("Successfully wrote to #{target_file}") {:error, reason} -> {:error, "Failed to open target file: #{reason}"} end end open_file/1 is just used for opening a file and putting every line into a list. write_file/2 is used for writing to a file. in this case you could simply pass the same file to each one and it would just output the exact same thing. There is also the stream/1 that can do the same as the File.open() def open_file(file_path \\ "camel_case_test_lines.txt") do File.stream!(file_path) |> Enum.to_list() end
