Scala的IO流操作



6.   io

6.1.     文件I/O

6.1.1.  读文件

scala特有的是scala.io.Source,例如:

import scala.io._

Source.fromFile("cn.scala","utf8").mkString

逐行读文件内容:

Source.fromFile(new java.io.File("cn.scala")).getLines().foreach(println)

6.1.2.  写文件

直接调用java的io:

import java.io._, java.nio.channels._, java.nio._

// 写文件

val f = new FileOutputStream("o.txt").getChannel

f write ByteBuffer.wrap("a little bit long ...".getBytes)

f close

或者:

var out = new java.io.FileWriter("./out.txt") // FileWriter("./out.txt", true) 为追加模式

out.write("hello\n")

out close

6.1.3.  复制文件

直接调用java的io:

val in  = new FileInputStream("in").getChannel

val out = new FileOutputStream("out").getChannel

in transferTo (0, in.size, out)

6.2.     网络I/O

import java.net.{URL, URLEncoder} import scala.io.Source.fromURL
fromURL(new URL("http://qh.appspot.com")).mkString

或者指定编码:

fromURL(new URL("http://qh.appspot.com"))(io.Codec.UTF8).mkString
时间: 2024-11-07 19:03:20

Scala的IO流操作的相关文章

IO流操作

一.IO流 1.  IO流是用来处理设备之间的数据传输,java是通过流的方式完成对数据的传输. 2.  操作的基本规律 1>明确源和目的. 2>操作的数据是否是纯文本. 3>当体系明确后,明确要使用哪个具体的对象. 二.IO流结构 IO流 |---字节流 |--输入流抽象基类:InputStream |--输出流抽象基类:Outputtream |---字符流 |--输入流抽象基类:Reader |--输出流抽象基类:Writer 注:由这四个类派生出来的子类名称都是以其父类名作为子类

IO流操作规律

IO流的操作规律 * 字符流: * FileReader * FileWriter * BufferedReader * InputStreamReader * OutputStreamWriter * 字节流: * FileInputStream * FileOutputStream * BufferedInputStream * BufferedOutputStream 用哪个流对象解决问题呢? 明确一:明确源和目的 源:读,输入体系,InputStream   Reader 目的:写,输出

io流操作大全

JAVA 中的IO流 一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.       一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL.        流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它.     

关于java io流操作文件探讨

1.任务描述    2.读取一个字符 3.读取整个文件 4.复制文件 5.复制大文件 6.利用字符流解决乱码问题 一.任务描述 大家都知道程序是程序的运行是离不开内存的,但是很多东西并不在程序当中,而程序也需要操作它们.所以就需要一个东西与内存外的资源打交道,我们就把这个东西称为io流.io流分为输出流和输入流,输出流是将内存中的东西输出到内存之外,输入流是将内存之外的东西读取到内存中.一旦有了io流之后,与内存之外的资源打交道就十分方便了.为什么这么说,其实总体上就只需要三步操作,第一步,定位

【转载】JAVA中IO流操作的基本规律总结

流操作的基本规律:三个明确 1.明确源和目的: 源:输入流即读取流       InputStream,Reader 目的:输出流即写入流    OutputStream, Writer 2.明确操作的数据是否是纯文本文件: 如是果是纯文本文件使用字符流Reader 或Writer,不是纯文本文件 使用字节流InputStream或 OutputStream 3.当体系明确后,在明确具体的适用对象: 通过设备来区分 源设备:内存  硬盘  键盘 目的设备:内存  硬盘   控制台 *******

IO流操作之字符输入输出流简单操作

1.字符输入流 //字符输入流类:Reader //FileReader:从文件读取的输入流 //BufferedReader:缓冲输入字符流 package com.newdream.IO; import java.io.BufferedReader; import java.io.FileReader; public class CharIOReader { public static void main(String[] args) { //申请缓存区并初始化 BufferedReader

C#中的IO流操作(FileStream)

StreamReader和StreamWriter适用于对文本文件的操作,因为它是以字符为单位进行的操作 不用担心编码问题 using (Stream s = new FileStream(@"C:\Users\qq\Desktop\新建文件夹\HTML\qq.txt", FileMode.Open, FileAccess.Read)) using (StreamReader r = new StreamReader(s, Encoding.Default)) //读取流中的文本 {

android IO流操作文件(存储和读取)

存储文件: public class FileOperate extends Activity { private static final String FILENAME = "mydata.txt" ;// 设置文件名称 private static final String DIR = "ljpdata" ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(s

IO流操作-图片操作(二)

一,选取一张图片 var open = new OpenFileDialog(); open.Filter = "图片|*.jpg"; open.ShowDialog(); var filepath = open.FileName; (1)将图片转成流,流的方式生成图片 //第一中方法,先转成流 FileStream file=new FileStream(filepath,FileMode.Open); //创建一个file.length大小的数组控件 byte[] bt= new