美文网首页
从文件中读取字符串

从文件中读取字符串

作者: 落叶刺客 | 来源:发表于2017-08-15 20:38 被阅读13次
问题:如何从磁盘文件中读取字符串儿,然后按行将其倒序输出?

  下面一段材料取自陈寿《三国志》卷三十五诸葛亮传,我把它分成了10段,现在要求从磁盘文件中读取这段文字,然后按照一定的规则倒序输出。比如说,如果我要求输出3行,系统会依次输出第10、9、8三行;如果我要求输出20行,则系统会依次输出10、9、8 ... 3、2、1行;如果我要求输出0行,则系统什么也不做。

(01) 自董卓已来,豪杰并起,跨州连郡者不可胜数。 
(02) 曹操比于袁绍,则名微而众寡,然操遂能克绍,以弱为强者,非惟天时,抑亦人谋也。 
(03) 今操已拥百万之众,挟天子而令诸侯,此诚不可与争锋。 
(04) 孙权据有江东,已历三世,国险而民附,贤能为之用,此可以为援而不可图也。 
(05) 荆州北据汉、沔,利尽南海,东连吴会,西通巴、蜀,此用武之国,而其主不能守,此殆天所以资将军,将军岂有意乎? 
(06) 益州险塞,沃野千里,天府之土,高祖因之以成帝业。 
(07) 刘璋暗弱,张鲁在北,民殷国富而不知存恤,智能之士思得明君。 
(08) 将军既帝室之胄,信义著于四海,总揽英雄,思贤如渴,若跨有荆、益,保其岩阻,西和诸戎,南抚夷越,外结好孙权,内修政理; 
(09) 天下有变,则命一上将将荆州之军以向宛、洛,将军身率益州之众出于秦川,百姓孰敢不箪食壶浆以迎将军者乎? 
(10) 诚如是,则霸业可成,汉室可兴矣。

  解决这个问题的思路主要分为两步:首先,从磁盘文件中读取字符串儿,然后再把它存储到一个数组中,并且每一行字符串儿单独作为一个数组元素,最后再将数组元素进行逆转操作;其次,要对要求输出的行数n进行判断,如果n小于总行数,则直接输出n行(也就是n个数组元素),如果n大于等于总行数,则将数组中所有的元素全部输出。用代码表示如下:

func challenge(filePath: String, lineCount: Int) {
    
    // 从磁盘文件中读取字符串儿,并且对文件路径进行校验
    guard let input = try? String(contentsOfFile: filePath) else { return }
    
    // 将字符串儿input中的内容存储在数组中,并且每一行内容为一个元素
    var lines = input.components(separatedBy: "\n")
    
    // 对文件中的内容进行校验,如果内容为空,则直接返回
    guard lines.count > 0 else { return }
    
    // 对数组lines中的元素进行逆转
    lines.reverse()
    
    // 取出数组lines中的元素
    for i in 0 ..< min(lines.count, lineCount) {
        print(lines[i])
    }
}

  上面的代码必须放在工程文件中进行测试,在Playground中是无法输出的。输入一个大于总行数10的数字,得到的输出结果如下:

测试结果.png

相关文章

  • IO流java.util.Scanner

    从键盘读取 从字符串读取 从文件读取

  • JAVA(二)将文件转换成ZIP文件

    一.执行的主函数 读取文件的流 定义字符串,读取文件夹中的文件列表 读取文件文件名,调用功能函数。 循环向zos中...

  • java流,文件,IO基础操作

    1.从控制台读入字符,字符串 2.读文件,写文件从file.txt文件中读取数据,然后存放到dest.txt文件中...

  • 06. Reading Strings From and Wri

    从字符串中读取字符串并将字符串写入文件和URL相关链接:https://developer.apple.com/l...

  • 字符串与流处理

    文件读取 把文件中的内容读取到map中 把map的内容导出到一个文件中 一次性读取所有内容 字符串类型转换 使用i...

  • Android 读取资源文件

    主要介绍 Android 读取资源文件,直接从 assets 读取,从 Raw 文件中读取,InputStream...

  • python3文件读取read、readline、readlin

    1. read() 读取整个文件,将文件内容放到一个字符串变量中。read()直接读取字节到字符串中,包括了换行符...

  • 从文件中读取字符串

    问题:如何从磁盘文件中读取字符串儿,然后按行将其倒序输出?   下面一段材料取自陈寿《三国志》卷三十五诸葛亮传,我...

  • txt读写

    文件打开 读文件 读取字符串 按行读取整个文件 写文件 字符串写入txt 列表写入文件 双层列表写入文件 数组写入文件

  • MySQL---数据库从入门走向大神系列(七)-Java访问数据

    从操作配置文件properties中读取连接字符串,通过该字符串进行数据连接,需要写三个文件其中,两个是java类...

网友评论

      本文标题:从文件中读取字符串

      本文链接:https://www.haomeiwen.com/subject/xozprxtx.html