各种语言的IO以及数据类型

各种语言的读写

C语言中

    控制台读写
    scanf()  printf() 
    gets()  puts()
    getchar()  putchar()
    文件读写

JAVA中File类以及IO类

  文件类以及字符流和字节流的使用
  控制台读写
    Scanner类
    System.out.read()
    System.out.println()
  文件读写
通过叠加多个对象来提供所期望的功能

源端:
接收端  文件 控制台 网络
通信: 按照字节,字符、字 、行、整个文件、顺序、随机、缓冲
path:可执行文件的路径,javac.exe java.exe
Classpath: class类所在的文件路径

System 类
    out 是PrintStream对象

  System.in 标准输入串对象,字节数据
  有关的概念:
    Stream

文件读取步骤:

  第一步:打开文件并指定文件的读写方式:实例化并指定读写方式
  第二步:使用对应的写入方法
                读出方法
  第三步:关闭文件


输入输出中 
   文件系统或者传输系统
    文件目录:java.io.File 文件路径类的抽象代表需要和其他相关类配合使用
    输入部分:
        InputStream 抽象类  位流         
    Reader      抽象类  字符流
    输出部分:
        OutputStream    抽象类  位流           
    Writer      抽象类  字符流
    输入输出组合
        RandomAccessFile

 位流<面向字节>
    InputStream<抽象类>            OutputStream<抽象类>
    FileInputStream             FileOutputStream
    ByteArrayInputStream            ByteArrayOutputStream
    StringInputStream
    PipedInputStream            PipedOutputStream
    SequenceInputStream
    FilterInputStream<抽象类>      FilterOutputStream<抽象类>
        DataInputStream             DataOutputStream        基本数据类型 int double boolean
        BufferdInputStream          BufferdOutputStream     增加缓冲区功能
        PushbackInputStream
        PrintStream         默认使用操作系统的编码来处理对应的字符串转换动作

  字符流
      Reader<抽象类>                   Writer<抽象类> InputStreamReader           OutputStreamReader
    FileReader                      OutReader
    CharArrayReader                 CharArrayWriter
    BufferedReader                      BufferedWriter
    PrintWriter
    FilterReader                        FilterWriter
    PushbackReader


缓冲
IO的异常类

 叠加多个对象来提供所需要的功能<装饰器设计模式Decorator Pattern>
    通过叠加多个对象来提供所期望的功能
异常处理机制
   为可能发生的错误提供的机制
通过继承来扩展接口

Scala的读写

控制台读入以及读取本地文件
    1.控制台输入
    print("控制台输入,请输入:")  
     val content = Console.readLine() 
     println(content)

    2.文件读入
    println("读取本地文件:")  
       val localfile = Source.fromFile("D:\\my\test.txt","GBK") 
       for(line <- localfile.getLines()){  
         println(line)  
       }  
       localfile.close()


写到文件,显示到屏幕
2、文件写入
       val writer = new PrintWriter(new File("test.txt")) 
       for(i <- 1 to 100)  
         writer.println(i)  
         writer.close()  
     }

     写到屏幕中
        println(writer)

Python中的读写

    控制台读写
    input()
    raw_input()
    print()

    函数加方法<三步>
    open()
    file.read()
    file.close()

    模块的方法-包--例如pandas
     pandas.read_csv()
     pandas.read_table()

R语言中的读写

自带的包
    read.table()
    read.csv()

    write.table()
    write.csv()
第三方包

注意操作系统

Windows和linux的文本文件的格式有些不同。
Windows使用’\r\n’表示一行的结束和新的一行的开始,
而linux用’\n’表示一行的结束和新的一行的开始,
因此在linux上多行的文件在windows上的一些程序中变成了一行  。注意读取文件时的系统,以及文件来源的操作系统

数据类型查看以及转换

在编译期间期间确定数据类型,要求在使用变量之前必须先声明其数据类型,C--Java
在运行期才确定其数据类型,通过第一次赋值类型来确定数据类型
数据类型转换,不同的数据类型运算,必须经过显式的类型转换函数处理后才能进行运算。

C语言,显示转化

数据类型:
    基本类型
        short int long
        float double char
    构造类型以及其他
        array point struct union  enum void
  类型转换
    (type_name) expression
    type_name为要转换到的数据类型,expression为表达式。例如:
    (float) a;  //把a转换为实型
    (int)(x+y);  //把x+y的结果转换为整型
    (float) 100;

JAVA语言

    数据类型
      String StringBuffer
      Array
      List: ArrayList LinkedList
      Set :
      Map :
     泛型<>
      Iterator 迭代器,Iterable接口,逐一访问容器内元素的方法
      Iterator类
        使用Collection类的Iterator,可以方便的遍历Vector, ArrayList, LinkedList等集合元素
    数据类型转换

Scala数据类型转换

数据类型:Boolean
        Char Short
        Int  Long
        Float Double
        Byte String 
    Symbol 符号类型
    Tuple 元组:访问元组的内容通过变量名._N的方式进行
    Tuple ()
    Array ArrayBuffer
    List ListBuffer
    Queue
    Stack
    Map 
    Set
    泛型[]
    Stream(流)
iterator: Iterator[(String, Any)]
iterator: Iterator[(String, (String,Any))]
iterator: Iterator[(String, (Any,Any))]
iterator: Iterator[(String, (Any,Any,Any))]
类:类和对象  类型比类更为具体,
    typeOf[]
    .getClass
 类型推断--scala语言
 转换--隐式转换
      隐式转换函数 implicit       
请使用REPL来熟悉Scala语言   
Scala编译器自动使用最后一个表达式的返回值作为函数的返回值 
toList 、toSet 、toArray、toSeq

Python数据类型转换

type()
.type

Tuple ()
List  []
Dict  {}
Set  ()
python中迭代器(iterator) iter()
生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需要返回数据的时候使用yield语句 python还提供了一个生成器表达式

R语言数据类型查看与转换

R语言查看
 class()
 mode()
 str()
 head()
 tail()
 attributes()   
###数据格式以及形式变换
  基本数据类型
     as.character() as.integer()    as.numeric()as.logical()    as.complex()    NA
  结构化数据类型
    as.vector() as.matrix() as.array()as.data.frame()   as.list()   as.factor()as.vector(as.matrix(dfrm)) unlist()
####判断数据类型
    is.vector() is.matrix()  is.data.frame()
    is.factor() is.ordered()    is.null()
    is.na()
####数据类型变换
 包: library("plyr")
 函数 ldply、dlply、daply
     ##把列表数据转换为数据框
    library(plyr)
    BrGroupT        <- ldply(BrGroup)
    ##去除第一列.id列
    BrGroupT        <- BrGroupT[,-1]    
    ##数据变换,数据框到列表
    lldata <- function(data){return(data[,2:42])}
    lldata <- function(data){
        dl <- (data[,2:42])
        rownames(dl) = data[,1]
        return(dl)}
    mldata <- dlply(.data=mm[,1:43],.variables="gen",.fun=lldata)
    ##以gen为分组,返回各个个数以及名字    
###数据长宽变换
 包:reshape2
 函数:melt cast
    ##宽数据变为长数据,###
    library("reshape2")
    tissueNames <- c ( "ded", "erm" )
    NochangeNames <-  c("gen","co")
    LongpacDataEN     <- melt(CombEN,id.vars=NochangeNames,measure.vars=tNames,variable.name="sue",value.name="ct")
    head(LongpacDataEN)
    #长数据变为宽数据
    cast

SQL中数据类型转换

MySQL中数据类型
Orcale数据类型
迭代器(Iterator)模式,又叫做游标(Cursor)模式

Excel中数据类型转换

眼见为虚

blogroll

social