首页 > 其他分享 >无涯教程-Clojure - 文件I/O

无涯教程-Clojure - 文件I/O

时间:2023-10-23 13:32:30浏览次数:31  
标签:文件 教程 clojure 无涯 io line Clojure Learnfk Example

使用I/O时,Clojure提供了许多辅助方法。

  • 读取文件(Reading files)
  • 写入文件(Writing to files)
  • 查看文件是文件还是目录

让我们探讨Clojure提供的一些文件操作。

读取内容

如果要以字符串形式获取文件的全部内容,可以使用 clojure.core.slurp方法。 slurp命令打开文件并读取其所有内容,并返回一个字符串。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (def string1 (slurp "Example.txt"))
   (println string1))
(Example)

如果文件包含以下几行,它们将被打印为-

line : Example1
line : Example2

读取一行

如果要一次将文件的全部内容作为字符串获取,则可以使用 clojure.java.io/reader 方法。 clojure.java.io/reader类创建一个readerx缓冲区,该缓冲区用于读取文件的每一行。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (with-open [rdr (clojure.java.io/reader "Example.txt")]
   (reduce conj [] (line-seq rdr))))
(Example)

如果文件包含以下几行,它们将被打印为-

line : Example1
line : Example2

输出将显示为-

["line : Example1" "line : Example2"]

写入文件

如果要向文件写入文件,可以使用 clojure.core.spit命令将整个字符串插入文件中,spit命令与slurp方法相反,此方法以作家的身份打开文件,写入内容,然后关闭文件。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (spit "Example.txt"
      "This is a string"))

在上面的示例中,如果看到Example.txt文件的内容,则将看到"This is a string"的内容。

写入一行

如果您想一次向一行写入文件,则可以使用 clojure.java.io.writer 类, clojure.java.io.writer类用于创建writerStream,其中数据字节被馈送到该流中,然后馈入该文件中。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (with-open [w (clojure.java.io/writer "Example.txt" :append true)]
      (.write w (str "hello" "Learnfk"))))
(Example)

执行上述代码后,Example.txt文件中将出现" hello Learnfk"行。 append:trueoptions用于将数据追加到文件中。

检查文件存在

要检查文件是否存在,可以使用 clojure.java.io.file 类检查文件是否存在。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (println (.exists (clojure.java.io/file "Example.txt"))))
(Example)

如果文件Example.txt存在,则输出为true。

控制台读取

要从控制台读取数据,可以使用 read-line 语句。以下是显示如何使用它的示例。

如果在REPL窗口中输入(读取行)命令,则将有机会在控制台窗口中输入一些输入。

user->(read-line)
Hello Learnfk

上面的代码将产生以下输出。

“Hello Learnfk”

参考链接

https://www.learnfk.com/clojure/clojure-file-io.html

标签:文件,教程,clojure,无涯,io,line,Clojure,Learnfk,Example
From: https://blog.51cto.com/u_14033984/7986309

相关文章

  • AutoCAD2023软件安装教程及安装包下载
    由“Autodesk”公司研发推出的AutoCAD202364位简体中文版已于2022年3月已经正式发布,AutoCAD是一款全球领先的计算机辅助设计(CAD)软件,全新的2023版本拥有着非常强大的渲染、绘图和三维打印功能,还提供了动态块、文本设定、数据提取、三维导航、截面平面、DWG比较、云存储连接......
  • 草图大师(SketchUp)2022安装图文教程
    草图大师(SketchUp)是一个非常受欢迎并且易于使用的3D设计软件,它被比喻为电子设计中的“铅笔”。它的主要特点就是使用简便,人人都可以快速上手。并且可以将使用SketchUp创建的3D模型直接输出至GoogleEarth里。下载草图大师2022版并解压缩【rjqjf.com】二、双击进入解压缩后的“草图......
  • AutoCAD Civil3D 2023安装图文教程及下载
    Civil3D设计软件是土木工程师的首选软件,也是民用大众领域的综合解决方案,同时Civil3D提供了AutoCAD和AutoCADMap3D的功能,该软件使用基于模型的环境,以便做出更好的设计决策并提高项目质量,通过以设计为导向的计划生产方法简化文档编,利用BIM(建筑信息模型)的强大功能,实现更好的设计......
  • Autodesk 3ds Max 2023安装图文教程及下载
    Autodesk3dsMax202364位版本由Autodesk公司于2022年3月推出,它是一款著名的建模、渲染和动画软件,3dsMax软件是创建沉浸式游戏体验和可视化复杂设计的首选工具。首先我们看一下Autodesk3DMax2023软件对系统的要求:安装步骤:1、本机安装环境:2、下载安装包【rjqjf.com】3、我下载到......
  • 从零用VitePress搭建博客教程(6) -– 第三方组件库的使用和VitePress搭建组件库文档
    接上一节:从零用VitePress搭建博客教程(5)-如何自定义页面模板、给页面添加独有的className和使页面标题变成侧边目录?九、第三方组件库的使用我们经常看见UI组件库的文档,这里我们就用element-plus第三方组件库为例子,搭建组件库文档examples:作为组件库示例目录,我们以Button组件......
  • 【2023最新教程】有道翻译js 超详细!!!
    目录前言确定加密字段破解加密字段加密字段实现破解返回值跟踪堆栈找到解密后的返回值函数实现解密返回值语言转换完整代码效果展示前言有道翻译两个加密第一个是表单的sign用MD5加密可以点击目录的加密字段实现直接跳转第二个是返回值AES加密,而且AES的密匙他还用md5加......
  • 基于SSM框架的航班购票系统运行教程
    @目录1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载Tomcat1.5、下载JDK并配置环境变量1.6、安装数据库和数据库管理工具1.7、安装配置Maven1.8、下载安装Redis2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL3、Eclipse配置Mave......
  • OMNeT++安装教程,OMNeT++/SUMO/Veins/INET安装包下载以及它们的联合仿真配置
    一、版本匹配以及下载地址Omnetpp5.6.2,Sumo1.17.0/1.13.0,Veins5.0,以及Inet4.2.5的百度云下载地址:(如果需要其他版本,请在下面提供的官网地址下载。)链接:https://pan.baidu.com/s/1iPuCyYYqnm1R73rdUovn2A?pwd=x29y提取码:x29y操作系统:Windows10OMNeT++:Omnetpp5.6.2  下载地址......
  • Navicat 15 最新po jie版下载_永久激活注册码(附图文安装教程)
    分享一波Navicat15的最新pojie版安装包和注册机,可以永久激活哟奉上Navicat15激活成功的画面:前言Navicat是一款强大的数据库管理和设计工具,支持Win、macOS和linux。直观的GUI让用户简单地管理MySQL、MariaDB、MongoDB、SQLServer、SQLite、Oracle和PostgreSQL的数......
  • Pycharm 2023.2 最新po jie版安装教程(附激活码,亲测有效)
    申明:本教程Pycharmpojie补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!前言笔者分享一种比较靠谱的Pycharm pojie方案:激活脚本+激活码(全自动模式),即本文教程所写,这种方法适合最新的几个版本,具体步骤跟着本文教程一步......